クライアントのIPアドレスで分岐するMT(PowerCMS)テンプレート
公開日 : 2014-03-31 17:25:14
Twitterでつぶやく、その前に!
- その機能は本当にないのでしょうか?
- すでに誰かが同じところでつまづいて、解決していたりしないでしょうか?
DynamicMTMLでIPアドレスによる分岐って簡単に行けるかと思ったけど、クライアントIPで条件分岐するIFとかファンクションタグが無いっぽい...。
— Kentaro Suzuki (@riatw) 2014, 3月 31
あるある、そんなのは、あるよ!
テンプレートは以下のような感じ。
<mt:GetEnv name="REMOTE_ADDR" setvar="remote_ip">
<mt:Ignore><mt:var name="remote_ip"> →192.168.11.146 </mt:Ignore>
<mt:if name="remote_ip" like="^192\.168\.">
ローカルネットワークからのアクセス
<mt:else>
それ以外
</mt:if>
Not PowerCMSの場合は、以下のプラグインを利用してください。
ちなみに、PowerCMSもしくは下記のプラグインを使うと、サーバー環境変数をダンプした結果がテンプレートで確認できます。
テンプレートに、以下のように書くだけです。
<mt:EnvDump>
テンプレートを作ろうと思って、ちょいカっとなって MTIfRegexMatchってテンプレートタグを作ったら、すでにありました。
また like モディファイアでは perl 正規表現を利用できます。
カっとなってMTIfRegexMatchという条件タグ(ブロックタグ)を書いたら"また like モディファイアでは perl 正規表現を利用できます。" とあるじゃないの。ドキュメントはよく読め(>皆) http://t.co/LtebJEuNup
— Junnama Noda (@junnama) 2014, 3月 31
えー、ドキュメントを読みましょう。もしくはググろうね、>皆