複数のウェブサイト/ブログの記事(ウェブページ)をまとめたランキングが出力できない原因はなんですか?
個々のウェブサイト/ブログの記事(ウェブページ)ではランキングが出力でき、複数のウェブサイト/ブログの記事(ウェブページ)をまとめたランキングが出力できない場合、ランキングの対象である記事(ウェブページ) のアーカイブテンプレートもしくはアーカイブマッピングが複数あることが原因として考えられ、対策としてウェブサイト/ブログごとに MTGatHotEntrires タグを記述し、結果をハッシュにまとめて出力してください。
テンプレートの記述例
<$MTTemplateNote value="ブログA(blog_id=2) の記事のランキングをハッシュ hash_ranking へ入れる"$> <MTGAHotEntries period="monthly" class="entry" blog_ids="2" limit="10"> <MTSetVarblock name="ranking_key"><$MTGAHotEntriesCount zero_pad="8"$>_<$MTEntryID zero_pad="8"$></MTSetVarblock> <MTSetVarblock name="hash_ranking" key="$ranking_key"> <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li> </MTSetVarblock> </MTGAHotEntries> <$MTTemplateNote value="ブログB(blog_id=3) の記事のランキングをハッシュ hash_ranking へ入れる"$> <MTGAHotEntries period="monthly" class="entry" blog_ids="3" limit="10" template_id="45"> <MTSetVarblock name="ranking_key"><$MTGAHotEntriesCount zero_pad="8"$>_<$MTEntryID zero_pad="8"$></MTSetVarblock> <MTSetVarblock name="hash_ranking" key="$ranking_key"> <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li> </MTSetVarblock> </MTGAHotEntries> <MTTemplateNote value="ハッシュ hash_ranking の内容を出力する"> <MTLoop name="hash_ranking" sort_by="key reverse"> <MTVar name="__value__"> </MTLoop>
記述例の説明
ブログA(blog_id=2)とブログB(blog_id=3)ではランキングを出力するための MTGAHotEntries タグの記述が異なり、ブログB(blog_id=2)の方は template_id=”45” の指定が必要です。
<MTGAHotEntries period="monthly" class="entry" blog_ids="2" limit="10">
<MTGAHotEntries period="monthly" class="entry" blog_ids="3" limit="10" template_id="45">
MTGAHotEntries タグの blog_ids はカンマ区切りで複数の指定が可能ですが、下記のようにまとめてしまうと ブログA(blog_id=2) に対しても template_id=”45” が指定されることになり、ブログA(blog_id=2)のランキングが出力されません。
<MTGAHotEntries period="monthly" class="entry" blog_ids="2,3" limit="10" template_id="45">