MTAppjQuery 1.10.0 リリース!新機能remove_hostモディファイアを使ってみました
先月、MTのプラグイン「MTAppjQuery」の新バージョン、1.10.0がリリースされました。
主に管理画面をカスタマイズするために使われるプラグインで、新たにMTを導入する際にはほぼ100%インストールしているプラグインです。
今回の新機能の目玉はMT標準のファイルアップロード機能を使うことができる「MTAppAssetFields」だと思いますが、今回は個人的にとても便利だと思っているグローバルモディファイア「remove_host」について書いておこうと思います。
remove_host モディファイアとは?
remove_hostは、出力するURLからホスト名を除去するグローバルモディファイアです。
下記のような形でMTタグにこのモディファイアを付けると、ホスト名を取り除いて出力してくれます。
<mt:EntryPermalink> →https://hei-a.net/blog/movable_type/plugin/mtappjquery1-10-0.html
<mt:EntryPermalink remove_host="1"> →/blog/movable_type/plugin/mtappjquery1-10-0.html
実際の使用例
記事一覧などを出力する際に<mt:Entries>にこのモディファイアをつけておくと、ブロックタグ内のリンクURLからホスト名が取り除かれて「/」から始まるパスに変換されます。テスト環境から本番環境に移行する際にドメインが変わってしまう場合などにも非常に有効です。
remove_host 使用前
<mt:Entries lastn="3"> <mt:EntriesHeader><ul></mt:EntriesHeader> <li><a href="<mt:EntryPermalink>"><mt:EntryTitle></a></li> <mt:EntriesFooter></ul></mt:EntriesFooter> </mt:Entries>
このようにテンプレートに書くと、下記のように出力されます。
<ul> <li><a href="https://hei-a.net/blog/movable_type/mt62.html">MT6.2にアップデートしました</a></li> <li><a href="https://hei-a.net/blog/movable_type/zenback.html">速くなったと噂のZenbackのスクリプトコードで30%高速化しました!</a></li> <li><a href="https://hei-a.net/blog/movable_type/mt601.html">MT6.0.1にアップデートしました</a></li> </ul>
remove_host 使用後
<mt:Entries>にremove_hostモディファイアを付け加えると、記事URLからホスト名が取り除かれます。もちろん、<mt:EntryPermalink>の部分だけにモディファイアを付けてもOKです。
さらに同様にmtAppjQueryをインストールすると使えるcompressモディファイアを付けると、ソースの改行も取り除かれるのでかなりスッキリしますね。
<mt:Entries lastn="3" remove_host="1" compress="2"> <mt:EntriesHeader><ul></mt:EntriesHeader> <li><a href="<mt:EntryPermalink>"><mt:EntryTitle></a></li> <mt:EntriesFooter></ul></mt:EntriesFooter> </mt:Entries>
こちらは下記のように出力されます。
<ul> <li><a href="/blog/movable_type/mt62.html">MT6.2にアップデートしました</a></li> <li><a href="/blog/movable_type/zenback.html">速くなったと噂のZenbackのスクリプトコードで30%高速化しました!</a></li> <li><a href="/blog/movable_type/mt601.html">MT6.0.1にアップデートしました</a></li> </ul>
compressモディファイアの詳しい使い方については、下記のページをご確認ください。
Movable Type テンプレートで空行削除などができるcompress modifier プラグインを公開します
http://www.bit-part.net/blog/2013/05/movable-type-compress-modifier.html
指定する範囲に要注意
使用するときに気をつけたいのは、下記の例のように、ブログのURLにかかわらずすべてのURLが対象となる点です。
<mt:SetVarBlock name="sample">http://news.yahoo.co.jp/hl?c=c_spo</mt:SetVarBlock> <mt:Var name="sample" remove_host="1"> →/hl?c=c_spo
記事の本文中の画像のURLからホスト名を取り除きたいからと<mt:EntryBody>にこのモディファイアを付けてしまうと、外部リンクなどのURLからもホスト名が取り除かれてしまいます。
EntryBodyのような部分を対象にする場合は、replaceやregex_replaceで置換するようにするのがよさそうです。
まとめ
このモディファイアと同じようなことを実現するために、今まではそれ専用のプラグインをインストールしたり、正規表現を使って置換したりしていましたが、MTAppjQueryをインストールするだけで非常にわかりやすいテンプレートにすることができました。
ますます便利になったMTAppjQuery、使ったことがない方はぜひお試しください!!!
参考ページ
MTAppjQuery v1.10.0 リリース - MTAppAssetFields、MTAppUserMenuWidgetの追加など
http://www.tinybeans.net/blog/2016/11/25-102553.html
MTAppJSONTable と MTAppAssetFields で可変数&ドラッグアンドドロップで並べ替え可能なギャラリーを作る
http://www.tinybeans.net/blog/2016/11/25-103001.html
スポンサードリンク
コメント