内部リンクか、外部リンクかを自動で判別するMTタグの書き方 | WEB屋 水野博文のブログ

WEB屋 水野博文のブログ

現在、完全にテストサイト状態・・・

ブロックスCMSに、新しい機能をつけました。


それが、内部のリンクか、外部へのリンクかを自動的に見極め、


外部へ飛ぶリンクであれば、自動的に target="_blank" を挿入するというもの。


 


そのMTタグの書き方は、こちら。


まず、ブログのURLを取得し、変数に代入。


<MTSetVarBlock name="blogurl"><$mt:BlogURL$></MTSetVarBlock>


次に、


作成したフィールドのリンクを取得し、変数に代入。

このとき、<$mt:blogurl$>などのMTタグを使用しているかもしれないので、


templatizeプラグインでMTタグの変換を有効にしておく。


http://www.skyarc.co.jp/engineerblog/entry/3969.html


<MTSetVarBlock name="linkblank"><$mtentrylinkimage01 templatize="all"$></MTSetVarBlock>


そして、その2つの変数を照らし合わせ、

リンク先に、ブログURLが含まれていない場合だけ、 target="_blank" を追加する。


<a href="<$mtentrylinkimage01 templatize="all"$>"<MTUnless name="linkblank" like="$blogurl"> target="blank"</MTUnless>>


これで、リンクを自動的に判別する構造の出来上がり。


ブロックスCMSでは、ほぼすべてのリンクでコレを活用している。