Hei Blog

Movable Typeのこと、いろいろメモっとこうと思ってブログつくりました。

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


スポンサードリンク




コメント

お名前 必須

名前を入力してください。

メールアドレス

正しいメールアドレスを入力してください。

URL

正しいURLを入力してください。

タイトル

タイトルを入力してください。

タイトルに不適切な言葉が含まれています。

コメント必須

コメントを入力してください。

コメントに不適切な言葉が含まれています

パスワード必須

パスワードを入力してください。

パスワードは半角小文字英数字で入力してください。

Cookie

RSS 2.0 Login