年末年始など、期間限定で任意のHTMLを出力する方法

最終更新日:2011年12月26日 shortlink:http://modx.jp/?id=795

※2012年4月2日追記

リリース予定の1.0.6J-r1ではチャンクで公開期間設定ができるようになりますので、スニペットなどを使わずに期間限定表示ができます。


年末年始の間だけ「明けましておめでとうございます」と表示したいことがあると思います。休みの間なので、できればサーバ任せで自動的に変更したい。こういう時にCMSは便利です。

MODXの場合はいろいろな方法がありますが、GetFieldスニペットを利用するのが簡単です。考え方も簡単で、こういう場合は通常はチャンクを使うものですが、チャンクには公開開始日時・公開終了日時の設定がありませんので、リソースをチャンク代わりに使うわけです。

[[GetField?docid=xxx&field=content]]

通常のGetFieldの使い方のとおりに、任意のリソースのcontent(本文)の内容をチャンクの代わりに読み出すように記述します。

リソースには公開開始日時・公開終了日時をセットします。これだけです。

[[GetField?docid=xxx&field=content&thisis=年始の挨拶]]

チャンクのように名前でアクセスできないので、上記のように書くと分かりやすいです。&thisisというパラメータは実際には存在しないので、スニペットコール内でダミーとして書いているだけです。

スニペットコールはキャッシュオフ書式で書く必要はありません。リソースに公開開始日時または公開終了日時をセットした場合、MODXはページキャッシュの初期化日時を予約します。予約された日時にアクセスすると、自動的に全てのページキャッシュが削除され、そこからページの出力を始めます。

PR

  • KAGOYA
  • ASP at AKIHABARA Japan
  • CMS AWARDS 2007 Winner
ページトップへ