ページ

2013年4月17日水曜日

【MT】blogIDの条件分岐

Movable Typeでマルチブログを運営していると、「特定のブログはこの処理をする」というような、ブログによる条件分岐を設定したい場合があります。

そして調べてみると、どうやらブログIDで分岐ができるらしいということがわかりました。
というわけで以下に方法。

ブログIDを確認する方法


■ Movable Type 5.0 以前の場合
ウェブサイトの管理画面メニュー「ブログ」で、一覧からブログのタイトルをクリックし、ブラウザの URL 欄に表示される文字列の最後の数字部分で確認できます。
以下の例の場合「blog_id=1」の部分で、ブログ ID は「1」となります。

http://www.example.com/cgi-bin/mt/mt.cgi?_mode=dashboard&blog_id=1

ブログIDによる条件分岐

<mt:SetVarBlock name="blog_id"><$MTBlogID$></mt:SetVarBlock>
<mt:if name="blog_id" eq="1">
分岐を書く
</mt:if>


まずブログIDで条件分岐をする前に、ブログIDをSetVarBlockで変数定義をしてあげないと正常に動かないらしい。

しかも<mt:SetVarBlock name="blog_id"><$MTBlogID$></mt:SetVarBlock>は改行しちゃいかんらしい。

…かと思いきやSetVarBlockはずしても分岐出来ちゃったんだけど…あるぇ?意味不明なので保留。

変数定義してない変数が使えるはずがないと思うのでたぶんどこかで定義してるはず。
時間を見て再確認。

また、複数ブログを指定する場合はeqつかえないらしい。
この場合はlikeを使う

参考URL:http://memo.achu.net/achu/2011/04/13/【mt】mtblogidを複数指定してmtif/

これによると
<mt:if like="1|2|3" tag="BlogID">
だと11とかも拾ってきてしまうので、
正規表現の^ (前方一致)と$(後方一致)を一緒に指定するのだそう。
<mt:If tag="BlogID" like="^(1|2|3)$">
なるほど~。

0 件のコメント:

コメントを投稿