MTカスタマイズ:カテゴリごとに次と前へのリンク作成
- 2007-02-22 (木)
- movabletype関連
じーちゃんです。こんばんわ。
さて、多くのテンプレートでは、MovableTypeの各エントリーのページ上の方に「前のエントリー」と「次のエントリー」へのリンクがあるかと思います。
ところが、デフォルトではこいつはカテゴリのことなんか気にしてくれていないので、単純にエントリーの順番に前と次へのリンクとなっています。
でも、実際のところ、とあるエントリーがとあるカテゴリに属していた場合、そのカテゴリ内での前と次へのリンクが欲しいところ。
ぶっちゃけていうと「サカつく5日記」の次のエントリーも「サカつく5日記」であってほしいわけですよ、ええ!<切実な需要w
というわけで、なんとかしてそれを実現するべくMTのテンプレートタグと格闘していたのですが、結局の所pluginを入れてやらないとならないということが発覚したので、その方法を書き残しておきます。
というか……
http://umia.jp/paso/2006/03/16_1641.php
↑ここ読んで書いてあるとおりにすればオシマイw
でも、上のところがいつまでもあるとは限らないので、内容をこっちにも移しておきまする。
【1】 PreviousNextInCategory を手に入れる
phil ringnalda::Previous and next in category
から、PreviousNextInCategory.zipを手に入れる。
↑2行目のあたりの「PreviousNextInCategory」のリンクがzipファイルへのリンクになっている。
【2】解凍したファイルをMTのpluginフォルダに置く
解凍すると「PreviousNextInCategory.pl」ってのができるので、それを
MTメインディレクトリの直下にある"plugin"の下に置く。
↑"GoogleSearch"だの"StyleCather"だののディレクトリがあるところ
【3】 PreviousNextInCategory をちこっと修正
【4】RebuildPrevNextInCategory.pl を手に入れる
chez sugiから
RebuildPrevNextInCategory.plを手に入れて、PreviousNextInCategory.plと同じ所に置く。
【5】テンプレート修正
エントリーアーカイブのカテゴリごとに前と次へのリンクを表示したいところに、以下を記述。
【6】エントリーアーカイブを再構築
終了
関連リンク:
同一カテゴリの前後ナビゲーションと自動再構築
さて、多くのテンプレートでは、MovableTypeの各エントリーのページ上の方に「前のエントリー」と「次のエントリー」へのリンクがあるかと思います。
ところが、デフォルトではこいつはカテゴリのことなんか気にしてくれていないので、単純にエントリーの順番に前と次へのリンクとなっています。
でも、実際のところ、とあるエントリーがとあるカテゴリに属していた場合、そのカテゴリ内での前と次へのリンクが欲しいところ。
ぶっちゃけていうと「サカつく5日記」の次のエントリーも「サカつく5日記」であってほしいわけですよ、ええ!<切実な需要w
というわけで、なんとかしてそれを実現するべくMTのテンプレートタグと格闘していたのですが、結局の所pluginを入れてやらないとならないということが発覚したので、その方法を書き残しておきます。
というか……
http://umia.jp/paso/2006/03/16_1641.php
↑ここ読んで書いてあるとおりにすればオシマイw
でも、上のところがいつまでもあるとは限らないので、内容をこっちにも移しておきまする。
【1】 PreviousNextInCategory を手に入れる
phil ringnalda::Previous and next in category
から、PreviousNextInCategory.zipを手に入れる。
↑2行目のあたりの「PreviousNextInCategory」のリンクがzipファイルへのリンクになっている。
【2】解凍したファイルをMTのpluginフォルダに置く
解凍すると「PreviousNextInCategory.pl」ってのができるので、それを
MTメインディレクトリの直下にある"plugin"の下に置く。
↑"GoogleSearch"だの"StyleCather"だののディレクトリがあるところ
【3】 PreviousNextInCategory をちこっと修正
sub _hdlr_entry_previous_in_category {
...
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
my $prev = $e->previous(1);
...
}
sub _hdlr_entry_next_in_category {
...
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
my $next = $e->next(1);
...
}
...
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
my $prev = $e->previous(1);
...
}
sub _hdlr_entry_next_in_category {
...
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
my $next = $e->next(1);
...
}
【4】RebuildPrevNextInCategory.pl を手に入れる
chez sugiから
RebuildPrevNextInCategory.plを手に入れて、PreviousNextInCategory.plと同じ所に置く。
【5】テンプレート修正
エントリーアーカイブのカテゴリごとに前と次へのリンクを表示したいところに、以下を記述。
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink archive_type="Category"$>"><$MTEntryCategory$></a>
<MTEntryNextInCategory>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink archive_type="Category"$>"><$MTEntryCategory$></a>
<MTEntryNextInCategory>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>
【6】エントリーアーカイブを再構築
終了
関連リンク:
同一カテゴリの前後ナビゲーションと自動再構築
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://g-chan.dip.jp/mt/mt-tb.cgi/142
- Listed below are links to weblogs that reference
- MTカスタマイズ:カテゴリごとに次と前へのリンク作成 from G-chan Square