PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > テンプレート作成Tips > MTタグでCookieを操作する(MTSetCookie,MTClearCookieタグ)

2012年07月18日

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

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

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

<MTSetCookie name="foo" value="bar">

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

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

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

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

<MTClearCookie name="foo">

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

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

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

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

<MTGetCookie name="foo" setvar="cookie_foo">

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


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

Recent Entries