指定期間だけ表示される独自タグ limited-display

独自タグ (smarty)

2026年6月に「limited-display」という新しい独自タグが登場しました。

他の独自タグと違って、なにかを出力するタグではなく、コンテンツの表示期間を指定する珍しいタイプです。

limited-displayタグの使いかた

from=”2026-09-01 00:00:00″ , to=”2026-010-01 00:00:00″ のようにfrom属性で開始日時、to属性で終了日時を指定します。必ず「yyyy-mm-dd hh:mm:ss」形式で指定する必要があるので、勝手に時間を省略したりしないように注意しましょう。

from, to属性はどちらも省略可です。もし両方とも指定がなければ常に表示されるブロックになります。

<!-- サンプル -->
<{limited_display from="2026-06-01 00:00:00" to="2026-06-30 23:59:59"}>

この内容は2026年6月の間だけ表示されます。

<{/limited_display}>

limited-displayが使われそうなシーン

過去に「正月三ヶ日だけ、年始のご挨拶バナーを表示したい」というご依頼をお受けしたことがありますが、これこそ正にlimited-displayが役にたつケースです。

<{limited_display from="2027-01-01 00:00:00" to="2027-01-03 23:59:59"}>

謹賀新年 

<{/limited_display}>

これまでならJavaScriptで日時判定してコンテンツ表示を切り替え,,とやっていましたがテンプレートだけで実現できます。

limited-displayの応用シーン

smartyで現在日時を取得する $smarty.now と併用すると、たとえば「毎月1日だけ表示する」のような条件にも対応できます。

コードを書くとこのような感じ。

<{assign var="now" value=$smarty.now}>
<{assign var="y" value=$now|date_format:'%Y'}>
<{assign var="m" value=$now|date_format:"%m"}>

<{limited_display from="$y-$m-01 00:00:00" to="$y-$m-01 23:59:59"}>
<div>毎月1日恒例、特別セール開催中!</div>
<{/limited_display}>

アイディア次第では使い道ありそうなタグなので、ぜひとも活用してください。

独自タグ (smarty)
シェアする