Page Top

MT4でウェブページの一覧を表示する<MTPages>:カテゴリアーカイブでのみ一覧が表示されない

October 18, 2007

タイトルのままですが、<MTPages>を使い、ウェブページの一覧をサイドバーに表示したところ、なぜだか理由は良く分かりませんが、カテゴリアーカイブ上でだけ表示されないということが分かりました。(その他のエントリーアーカイブや、メインインデックス、月別アーカイブや、アーカイブでは表示されるようです。)

早速この不可思議な現象について検索していたところ、ブログでサイト制作覚書さんが同じ問題に直面されており、ウェブページもカテゴリの一種(MTPagesで悩む)Movabletype4という記事に詳細を記載されておりました。これを読むに、どうも、アーカイブページで他の種類のアーカイブを表示させるには、MTArchiveListタグを使う必要があるみたいです。他のアーカイブ上でだとウェブページの表示一覧がOKで、なぜにカテゴリアーカイブに表示する際<MTPages>が使えないのか・・不思議です。

ブログでサイト制作覚書さんの方でMTArchiveListタグを使ったコーディング例が詳細に記載されていますが、私はMT4のウィジェットにデフォルトとして記載されている、<MTTopLevelFolders>の方を自分用に簡単にカスタマイズしたものを使用することが出来たので、これを覚書しておきたいと思います。以下コードです。

<MTTopLevelFolders>
    <MTFolderHeader><ul class="sidenav pkg"></MTFolderHeader>
    <MTPages>
    <li><a href="<$MTPagePermalink$>" title="<$MTPageTitle$>"><$MTPageTitle$></a></li>
    </MTPages>
    <MTSubFolderRecurse></li>
    <MTFolderFooter></ul></MTFolderFooter>
</MTTopLevelFolders>

【訂正 2007.10.19】上記の</li>という閉じタグの位置(ラインで訂正部分)が文章構造という意味で異なったものがパブリッシュされていましたので、修正しました。

この<MTPages>ですが、調べてみると、どうやら<MTPages>は<MTTopLevelFolders>の中であれば、カテゴリアーカイブ上でもウェブページの一覧を表示するようです。私の場合ウェブページが含まれるフォルダは表示したくなかったので、ウィジェットにあったデフォルトのコードからその部分は削除し、ウェブページのタイトルとそのリンクを<MTPages>と</MTPages>で囲み表示するようにしました。

コードにある<MTSubFolderRecurse>は、フォルダが階層化されている場合のウェブページ一を、(階層なしとして)一覧表示する際に必要なため記載しています。

最新記事