EntryCategoriesタグを改良するプラグインを使ってフォルダ一覧のリストを表示

The blog of H.Fujimotoさまにて公開されている、EntryCategoriesタグを改良するプラグインを使って、ウェブページが属しているフォルダの一覧を表示させるためのウィジェットを試してみました。

プラグインの入手とインストール

The blog of H.Fujimoto の壱さま提供のプラグインです。以下ページにダウンロードならびにインストールの説明があります。

ダウンロードしたファイルを解凍してできた、「EntryCategoriesEx」フォルダをフォルダごとMTシステムのディレクトリのpluginsディレクトリにアップロードでインストールは完了です。

ウィジェットの作成

ウィジェットテンプレートを新規に作成します。テンプレート名はFolder Linkとしました。これは任意で自分がわかる名前でよろしいかと。

ウィジェットの本体はVicunaテンプレートにあわせた形で以下のようなものです。ulエレメントにはclass名は適当なものです。


<mt:If tag="FolderLabel">
<MTPageFolderEx>
<dt class="widget-header">List of <$MTFolderLabel$> folder</dt>
<dd>
<MTPages>
<MTPagesHeader><ul class="folderList"></MTPagesHeader>
<li><a href="<$MTPagePermalink$>"><$MTPageTitle$></a></li>
<MTPagesFooter></ul></MTPagesFooter>
</MTPages></dd>
</MTPageFolderEx>
</mt:If> 

ウィジェットの設定とインクルード

ウィジェットのキャッシュ設定

説明によりますと、MT4.2において、上記ウィジェットには以下のような設定をしておくとのことです。

参考

テンプレートの設定を展開させて、「作成または更新後に無効にする」を選択して「ウェブページ」と「フォルダ」にチェックを入れます。

ウィジェットをインクルード

インクルードさせたいところに、ウィジェットをインクルードさせるコードを挿入します。Vicunaテンプレートだと、ユーティリティの<dl class="navi">のあたりに。

インクルードするためのコードは壱さんのページに書かれていますが、以下のようなコードです。

<MTIfArchiveType archive_type="Page">
<MTPageIfFolder>
<MTSetVarBlock name="page_folder_id"><MTPageFolderEx>page_folder_<$MTFolderID$></MTPageFolderEx></MTSetVarBlock>
<$MTInclude widget="Folder List" key="$page_folder_id"$>
</MTPageIfFolder>
</MTIfArchiveType>

ページ自体が少なくてアレですが、このような結果になりました。

このエントリは以下のページを参照しました。