AltTemplateでMTタグを使う。
公開日 : 2008-01-30 13:03:35
昨日の続き。
管理画面カスタマイズは基本MTタグで行えますが、より便利で使い慣れたMTタグを扱えるようにします。例えばエントリー編集画面でMTEntriesを使うとか。
Download:
プラグインを放り込んだだけでは何もしません。
例えば、エントリーに「タグ」がついているとして、同じタグがついているエントリーを5件「関連するエントリー」として管理画面に表示させたいとします。
- alt_tmplフォルダにcmsフォルダを作成して tmpl/cms/edit_entry.tmpl のコピーを置く
- 1054行目、<mt:include name="include/editor.tmpl"> の直下あたりに以下のようなMTタグを貼付ける
<MTCMSEntryContext>
<MTIf name="id">
<MTEntryIfTagged>
<mtapp:setting
id="rerated"
label_class="top-label"
label="関連エントリー">
<MTSetVarBlock name="entrytags">
<MTEntryTags glue=" OR ">
<$MTTagName$>
</MTEntryTags>
</MTSetVarBlock>
<MTEntries tag="$entrytags" lastn="5">
<MTSetVarBlock name="current"><MTEntryID></MTSetVarBlock>
<MTEntriesHeader>
<ul style="margin-left:18px;margin-top:5px">
</MTEntriesHeader>
<MTIf name="id" ne="$current">
<li style="list-style-type:disc"><a href="<MTEntryPermalink>"><MTEntryTitle></a></li>
</MTIf>
<MTEntriesFooter>
</ul>
</MTEntriesFooter>
</MTEntries>
</mtapp:setting>
</MTEntryIfTagged>
</MTIf>
</MTCMSEntryContext>
反映後の管理画面は以下のような感じになります。
注意点としては、エントリーオブジェクト自身にアクセスしたい場合、<MTIf name="id">のようにして、idの有無をチェックする必要があります。idが無い場合=新規エントリーの投稿になりますので、エントリーがロードできなくてエラーを吐いてしまうからです。もちろんインデックステンプレートで利用出来るタグであればこの分岐は必要ありません。
パブリックドメイン。利用に制限は設けません。
MT4.1/MTOSによって新しい仕事ができましたね、マークアップエンジニアの皆様。MT4.1ではカスタムフィールドもありますし、管理画面のユーザビリティ向上のためのカスタマイズはプログラマの手を借りずにマークアップエンジニアのあなたが(誰)が行いましょうね??
Newプラグイン