「カテゴリ別記事リスト」テンプレートはページ分割機能がある

従来のMTテンプレート、「カテゴリ別記事リスト」で出力されるカテゴリ別の記事一覧は、デフォルトの場合、モディファイア limit="n"で設定されている最新記事n件のみが表示される。

該当するカテゴリすべての記事を出力させたい場合、

  • nの数字を最大値にして、1ページにすべての記事を表示
  • ページを分割するプラグインを採用する

という方法で対処してきた。

今回、レスポンシブ対応のこのEigerやRainerでは、、「カテゴリ別記事リスト」テンプレートでは、2ページ目から動的分割ができるようになっている。

そのためのコード↓が、テンプレートのはじめに書かれている。


<$mt:Var name="entries_per_page" value="10"$>

<mt:SetVarBlock name="search_link">
<$mt:CGIPath$><$mt:SearchScript$>?IncludeBlogs=<$mt:BlogID$>
&template_id=<$mt:BuildTemplateID$>
&limit=<$mt:Var name="entries_per_page"$>
&archive_type=<$mt:ArchiveType$>
&category=<$mt:CategoryID$>
&page=
</mt:SetVarBlock>

<$mt:Var name="search_link" strip="" trim="1" encode_html="1" setvar="search_link"$>


このコードにより、1ページ目はアーカイブマッピングパスのURLである
category/sub-category/index.htmlもしくはcategory/sub_category/index.html

そして、2ページ目からは動的ページで出力される。
hogehoge.com/mt/mt-search.cgi?IncludeBlogs=x&template_id=xx&limit=10&archive_type=Category&category=xx&page=2

ページ送りの「過去の記事」「新しい記事」のナビケーションリンクが、下方に付けられる。

因みにカテゴリ「設定カスタマイズ」が、すでに記事が8件(現時点で)ある。
表示件数を5件に設定したので、ベージ分割の様子を確認できる。
(表示件数を設定するのは、「カテゴリ別記事リスト」の1行目、

<$mt:Var name="entries_per_page" value="5"$>

の、valueの数字が、表示件数となる。)

ところが、「過去の記事」をクリックすると、エラーメッセージ表示↓あとの3件は表示されず・・・?

「テンプレートはインデックスではないアーカイブタイプのブログ記事リストでなければなりません」

catelimit527error.jpg※このエラーのため、10件表示に戻しています。10件超えるまでに対処します。
→解決したので、現時点では5件表示。

このMTはVer5.27。
しかし、MT6では同じEigerの「カテゴリ別記事リスト」では、エラーは起きていない。
MT5.27のバグと考えられるが、このバージョンでの情報がいまのところ見つからない(汗)
→解決しました。

その記事はこちら「「カテゴリ別記事リスト」テンプレートのページ送りエラーの対処法

レスポンシブデザインの場合、スマートフォンではカテゴリ記事があまり多いと表示速度にも問題が生じるため、ページ分割を行い、ページ送りで閲覧できるような設定にしたと思われる。

ただし、実際、あと何件あるか、何ページあるかという案内はない。
そのため、すべてのページ数などの表示がわかるナビゲーションにするには、さらなるカスタマイズ、もしくはページ分割のプラグインを採用することになるであろう。