MTタグ逆引き辞典

同じフォルダ内に属するウェブページ一覧を表示する

フォルダを作成しその配下にウェブページを作成した場合、同じフォルダ内のウェブページ一覧を表示する場合があります。

実際には、フォルダ内のページリストを出した上で今表示しているページのリンクを外しスタイルを変える、といった場合がありますのでその例をご紹介します。
今回の例ではフォルダが設定されていないウェブページの場合は、その他としてまとめて表示しています。

以下、ウェブページアーカイブテンプレートへの記述例です。

テンプレート記述例

<div class="group">
  <mt:SetVarBlock name="page_folder"><mt:PageFolder><$mt:FolderLabel$></mt:PageFolder></mt:SetVarBlock>
<$mt:PageID setvar="id"$>
<mt:IfFolder>
  <mt:Pages folder="$page_folder">
    <mt:PagesHeader>
      <h2><$mt:Var name="page_folder"$></h2>
      <ul>
    </mt:PagesHeader>
        <mt:If tag="pageid" eq="$id"><li class="page-select"><$mt:PageTitle$></li><mt:Else>
        <li><a href='<$mt:PagePermalink$>'><$mt:PageTitle$></a></li></mt:If>
    <mt:PagesFooter>
      </ul>
    </mt:PagesFooter>
  </mt:Pages>
<mt:Else>
  <mt:Pages  no_folder="1">
    <mt:PagesHeader>
      <h2>その他</h2>
      <ul>
    </mt:PagesHeader>
        <li><a href='<$mt:PagePermalink$>'<mt:If tag="entryid" eq="$id"> class="page-select"</mt:If>><$mt:PageTitle$> </a></li>
    <mt:PagesFooter>
      </ul>
    </mt:PagesFooter>
  </mt:Pages>
</mt:IfFolder>
</div>

まず、今表示しているウェブページの格納されているフォルダ名をSetVarBlockで変数として取り出します。
また、mt:PageID setvar="id"で現在表示しているウェブページのIDを変数にしておきます。

mt:IfFolderではウェブページがフォルダ内にある場合とない場合で分けています。
mt:Pagesでは、先ほどpage_folderとして変数にした値でフィルターし、同じフォルダ内のウェブページ一覧を表示します。
mt:Ifでは、現在表示しているウェブページかどうかをIDによって比較し、現在のページではリンクを無しにしclassを追加するようにしています。

以下のように出力されます。

出力例

サービス


使用したMTタグはこちら

Movable Type.net は無料トライアルが可能です。
Web制作者の方で、デモや評価利用をご希望の場合は、制作者向け評価ライセンスをご利用ください。

無料トライアル 資料ダウンロード 制作者向け評価ライセンス