Forums: Open Discussion (Thread #31614)

日付を設定する項目で (2012-02-24 10:01 by channel-tango #62408)

いつもお世話になってます。

公開終了日(expired_date)の項目に
「公開終了日を設定しない」
というチェックボックスがありますが、

開始日(s_date)、
終了日(e_date)にも同様の
チェックボックスで設定できるように
していただくことは可能でしょうか?

ご検討お願いします。

RE: 日付を設定する項目で (2012-02-24 11:55 by bluemelon #62414)


> 開始日(s_date)、
> 終了日(e_date)にも同様の
> チェックボックスで設定できるように
> していただくことは可能でしょうか?

汎用的であれば取り込みますが、参考までにお聞かせ下さい。
開始日を設定し終了日を設定しないとはどの様な目的で使われるのでしょうか?

Reply to #62408

RE: 日付を設定する項目で (2012-02-24 16:39 by channel-tango #62419)

>開始日を設定し終了日を設定しないとはどの様な目的で使われるのでしょうか?

開始日と終了日は、地域のイベントを投稿するときに使いますが、
それ以外のときには、開始日と終了日は使用しません。

なので、

開始日 (年月日) (チェックボックス)
終了日 (年月日) (チェックボックス)

という感じに可能でしょうか?
Reply to #62414

RE: 日付を設定する項目で (2012-02-24 20:38 by bluemelon #62428)


> 開始日と終了日は、地域のイベントを投稿するときに使いますが、
> それ以外のときには、開始日と終了日は使用しません。

以前お聞きした際に、日付が必要なデータと不要なデータを同じモジュール上に混在させて運用したいとの希望でしたが、
まさにその様な使い方をしている訳ですね。
別々のモジュールで管理した方が運用し易いと思いますが、そうせざるを得ない理由があるのでしょう。

一般的には開始日、終了日を使用しない場合は管理画面で設定すれば良いので、モジュール自体に組み込むのは無理があるかと思います。
お手数ですが、実装の方法をご説明しますので、ご自身で試してみて下さい。
どうしても上手くいかない場合は私の方で作成いたします。

前回の公開終了日と同様、修正するファイルは2個あります。

xoops_trust_path/modules/xdbase/templates/data_edit.html の152行目辺りに以下の行を追加します。
<label>開始日を設定しない<input type="checkbox" name="s_date" id="s_date" value="1" /></label>

同じく161行目辺りに以下の行を追加します。
<label>終了日を設定しない<input type="checkbox" name="e_date" id="e_date" value="1" /></label>

次に、forms/DataEditForm.class.php の1131行目あたりに
$s_date = $this->get('s_date');
if ($s_date == 1) {
$obj->set('s_date', 0);
}

同じく1152行目あたりに
$e_date = $this->get('e_date');
if ($e_date == 1) {
$obj->set('e_date', 0);
}

と追加して下さい。


Reply to #62419

RE: 日付を設定する項目で (2012-02-25 10:01 by channel-tango #62443)

ご教授いただいた通り追記しましたら、
思っていたような表示になりました。

ありがとうございました。
Reply to #62428

RE: 日付を設定する項目で (2012-02-24 16:44 by channel-tango #62420)

私のこちらのページを見ていただければと思います。

http://www.channel-tango.com/modules/onepro/?action=DataView&did=5

公開終了日と同様に
開始日と終了日を空欄にしたいのです。
もし、開始日と終了日を使用しないようにしてしまうと、
使用したい場合もあるので困るのです。

いかがでしょうか?
Reply to #62408