PowerCMS X Q&A

PowerCMS Xを用いてWebサイトを構築する際の技術的なヒントや解決策をご紹介します。

カテゴリ一覧ページや年別アーカイブページでローカルナビのオブジェクト一覧が正しく表示されません

例えば年別に記事一覧を表示するページにおいて以下のようなテンプレートを記述すると、「最近の記事」の部分もそのページの年の最新記事5件が表示されてしまいます。

<meta charset="UTF-8">
<div class="contents">
<h2><mt:archivetitle escape />の記事一覧</h2>
<mt:entries sort_by="published_on" sort_order="descend">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>

<div class="sidebar">
<h2>最近の記事</h2>
<mt:entries sort_by="published_on" sort_order="descend" limit="5">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>

これはそのページのコンテキスト(ページの文脈)が「2023年」「2022年」等になっているため、記事が「2023年」「2022年」で絞り込まれてしまうからです。「最近の記事」を表示する部分ではignore_archive_contextモディファイアを利用してコンテキストを外してやると、常に最新の記事5件が表示されるようになります。

<meta charset="UTF-8">
<div class="contents">
<h2><mt:archivetitle escape />の記事一覧</h2>
<mt:entries sort_by="published_on" sort_order="descend">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>

<div class="sidebar">
<h2>最近の記事</h2>
<mt:entries ignore_archive_context="date_based" sort_by="published_on" sort_order="descend" limit="5">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>

ignore_archive_contextモディファイアの値には以下の値が利用できます。

  • 1(全てのコンテキストを無視する)
  • date_based(日付を無視する)
  • category(カテゴリを無視する)
  • モデル名(指定したモデル名…例えばオリジナルの分類モデルを無視する)

関連するQ&A