該当するエントリーはあるのにPageButeを使ったら表示されない場合

概要

該当するエントリーはあるはずのカテゴリページ。エントリー数が増えたらページ分割をするため、PageButeを入れてあります。

カテゴリーに属すエントリーはあるのに、PageButeの<MTPageEmpty>の方に進んでしまい、エントリーが表示されないことがありました。再構築しても変わらず。

調査

試しにPageBute関係のタグをすべてはずして再構築したら、エラー発生。
エラーはPageButeとは関係がなく、あるタグをコンテキスト外で呼び出してしまったというもの。

そのエラーを修正して、再びPageBute関係のタグをセット。再構築。

そしたら、きちんとエントリーは表示されて、ページ分割もされました。

まとめ

エラーが発生した状況について、もう少し詳しく書きます。

MTPageContentsタグで囲まれた領域に、条件分岐を書きました。
それぞれ分岐A、分岐Bとして、エラーの記述は分岐Bにあったとします。

分岐Aに進むエントリーばかりの場合、カテゴリーページにエントリーは表示されました。
ところが、分岐Bに進むエントリーが1つでもあると、再構築エラーは発生しないけれど、エントリーは何も表示されないという状況になりました。

再構築エラーとして検出されないけれど、エラー部分を通る場合はMTPageContentsがとんでしまった感じと思われます。

「MTPageContentsで囲まれた部分にあるエラーは、どんなエラーも検出されない。」とまで言えるかどうかは分かりません。
PageButeを使っていて不可解な現象が起こったら、エラーが無いかどうかちょっと疑ってみてください。

メインテンプレートなどでブログ記事数を知りたいとき

メインテンプレートなどでブログ記事数を知りたいとき、「MTEntriesCount」を使うと、ブログ記事の設定の [ブログ記事の表示件数] で設定した件数の影響を受けて、知りたい値を取得することができない。

<MTBlogEntryCount blog_ids=”x“>
xはブログID

を使うと、そのブログの公開しているブログ記事数を取得することができる。