PowerCMS ブログ

2012年07月18日

MTタグでCookieを操作する(MTSetCookie,MTClearCookieタグ)

MTMLでCookieをセット/クリアするプラグインを作成しました。また、先日紹介した MTIfCookieタグ(Cookieを利用してスマホビューとPCビューを切り替える(MTIfCookieタグ))ではクッキーの値によってテンプレートの出し分けが可能です。これらのプラグインを使えば JavaScriptやPHPのコードを書くことなく、MTタグのみでクッキーを操作できます。

以下の例では、クッキー"foo" に 値 "bar" をセットします(テンプレートのビルド処理時に処理を行いますので、必ずしもテンプレートの先頭に書く必要はありません)。

<mt:SetCookie name="foo" value="bar">

オプションで以下のモディファイアを指定できます。

<mt:SetCookie name="foo" value="bar"
    [expires="86400", [path="/", [domain="alfasado.net",
    [secure="1", [reload="1"]]]]]>

reload="1" を追加すると、指定した名前のクッキーが新たにセットされた時にウィンドウをリロードします。

クッキーをクリアするには MTClearCookie タグを使います。MTClearCookieタグにもreload="1" を指定することができます。

<mt:ClearCookie name="foo">

先日のエントリで紹介した MTIfCookieタグ を利用することで、クッキーの値による出し分け処理をMTMLで記述することができます。

<mt:IfCookie name="foo" eq="bar">
Cookie foo に値barがセットされている時に表示されます。
</mt:IfCookie>

このタグは MT標準の MTIfタグと同様にlike、gt、lt等のモディファイアが利用できます。

Cookieそのものを取得するための MTCookieタグも用意されています(これはPowerCMSの現在のバージョンには標準で含まれています)。

<mt:Cookie name="foo" setvar="cookie_foo">

これらのタグはDynamicMTML環境下、もしくは各種 MT::Bootstrap App (mt-comments.cgiやmt-search.cgi)で利用することができます。

カテゴリー
テンプレート作成Tips

ページの先頭へ