過ぎた日付を取得しないPHPの記述が分かりません。

fujimoto > 過ぎた日付を取得しないPHPの記述が分かりません。 @ 2018/3/20 16:42
はじめて投稿させていただきます。
PHP初心者です。

【現状】
スケジュールプラグインのindexは(デフォルトで)一覧表示が取得されています。
当方は一覧表示の下に
$this->BcBaser->scheduleCalendar($year, $month,array('title' => true));

を記述しカレンダーも表示しています。

【問題】
Schedules/Controller/ScheduleController.php

こちらを参照しましたら一覧表示の取得条件が恐らく公開中となっている為か、公開状態にあるスケジュールが日付を過ぎてもずっと表示されたままになってしまいます。

【したいこと】
Schedules/Controller/ScheduleController.php

一覧表示の取得条件に「日付を過ぎたものを取得しない」と記述したいのですが何を何処に書き込めばいいのかもわかりません。
どうかお助け下さい。

【備考】
当方の都合ではありますが、当月のカレンダー表示には過ぎたものも載せておく必要がある為、過ぎたものを削除や非公開にする事は出来ません。
tommy6073 > Re: 過ぎた日付を取得しないPHPの記述が分かりません。 @ 2018/3/22 11:22
こんにちはtommy6073です。

スケジュールプラグインのソースを変更すると、プラグインの更新があった際に対応が必要となるため、
テンプレートをテーマフォルダへコピーしてカスタマイズすることをお勧めします。

まずは、app/Plugin/Schedule/View/Schedules/default/index.phpをコピーし、
theme/{ご使用中のテーマ}/Schedules/default/ディレクトリを作り、そこへindex.phpをコピーします。
これでこちらのテンプレートが優先的に反映されるようになります。

そして、index.php内の下記コードの下に、
<?php foreach($schedules as $schedule): ?>

次のコードを追加してください。
<?php if (date('Y-m-d', strtotime($schedule['Schedule']['end_date'])) < date('Y-m-d')) continue; ?>


こうすることで、終了日が現在日より古いものはスケジュールで表示されなくなります。

ご参考ください!
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
29 人のユーザが現在オンラインです。 (28 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 29