結論から書いちゃう。
結論
- mt:EntryNext や mt:EntryPrevious に
「 by_category="1"」を使えばよい
Movable Type 6.0.2 で追加されたらしい。
以前は別途プラグインを導入した記憶があるが、現在は不要らしい。
例その1
- <$mt:EntryNext by_category="1"$>
<a href="<$mt:EntryPermalink$>">次の記事: <$mt:EntryTitle$></a>
<$/mt:EntryNext$>
例その2(こう書いてもOK ($なしOKという意味&自分で使う用))
- <mt:SetVar name="has_prevc" value="0">
<mt:SetVar name="has_nextc" value="0">
<mt:EntryPrevious by_category="1">
<mt:SetVar name="has_prevc" value="1">
<a href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>"><<カテ前の記事</a></mt:EntryPrevious>
<mt:If name="has_prevc" eq="0"><span>前の記事なし</span></mt:If>
<mt:EntryNext by_category="1">
<mt:SetVar name="has_nextc" value="1">
<a href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>">カテ次の記事>></a></mt:EntryNext>
<mt:If name="has_nextc" eq="0"><span>次の記事なし</span></mt:If>
上手く動作しなかった時のメモ
- 当初、<mt:EntryPrevious by_category="1"> の「外」で
<mt:EntryPrevious>
<mt:SetVarBlock name="prev_url"><$mt:EntryPermalink$></mt:SetVarBlock>
</mt:EntryPrevious>
てなカンジで別途作成した「URL用変数」を流用してしまい、上手く動かなくてハマった。 - 空ページ検出のために <mt:If tag='EntryPrevious by_category="1"'> なんて書き方したら上手く動かなかった。
(チョット前にお勉強した「mt:Else が効かないタグの例外処理 Tips」がイキナリ役に立った!良かった! ) - でも、カテゴリ内の移動を可能にすると、ブログ全体の再構築を頻繁に行う必要が出てくる。(同カテゴリの記事が10個前とかだと、全体の再構築しないとリンク貼ってくれない)
このページは以上。