[php] 簡単なコンテンツ公開タイマー、その3[eccube]

今回は、EC-CUBEで現在表示しているバナーから別のバナーへ『切り替える日時』と『戻す日時』を設定してバナー表示を操作するシチュエーションで考えてみます。

EC-CUBEのSmartyテンプレート内でPHPスクリプトを使いたい場合は、<!–{php}–>〜<!–{/php}–>で囲みます。以下のスクリプトをテンプレートに直書きしてハイライト表示している5行を変更するだけでOKです。ヘボなスクリプトで長ったらしいですが…一応動きます。

<!--{php}-->
//data関数だけだと9時間のズレが生じる場合があるので
date_default_timezone_set('Asia/Tokyo');
//現在時間を取得
if ($_GET[nt] != "") { $now_time = $_GET[nt]; }else{ $now_time = date('YmdHi'); }
//切り替える時間の設定
if ($_GET[ct] != "") { $change_time = $_GET[ct]; }else{ $change_time = "201403192259"; }
//戻す時間の設定
if ($_GET[rt] != "") { $restore_time = $_GET[rt]; }else{ $restore_time = "201403312359"; }
	//確認
	//echo "現在の時間/now_time:" . $now_time . "<br />";
	//echo "切り替える時間/change_time:" . $change_time . "<br />";
	//echo "元に戻す時間/restore_time:" . $restore_time . "<br />";
 <!--{/php}-->

<!--{php}-->
if ($now_time <= $change_time) {
//切り替える時間 を過ぎる前
<!--{/php}-->

	【(1)ここに “『切り替える時間』を過ぎる前” のコンテンツを記述】

<!--{php}-->
} else {
//切り替える時間 を過ぎた後
<!--{/php}-->

		<!--{php}-->
		if ($now_time <= $restore_time) {
		//戻す時間 を過ぎる前
		<!--{/php}-->
		
			【(2)ここに “『切り替える時間』を過ぎた後” に表示するのコンテンツを記述】
		
		<!--{php}-->
		} else {
		//戻す時間 を過ぎた後
		<!--{/php}-->
		
			【(3)ここに“『元に戻す時間』を過ぎた後” に表示するのコンテンツを記述】
			
		<!--{php}-->
		}
		<!--{/php}-->

<!--{php}-->
}
<!--{/php}-->

Similar posts