カテゴリ内の前後のエントリーを自動的にリビルドする

| コメント(14) | トラックバック(11)

このエントリーの内容は古いです。最新の情報はこちらを参照してください。

前後のエントリーをカテゴリー内にする」に書いた方法には欠点があって、カテゴリー内の一つ前のエントリーを(途中にエントリーを追加する場合は一つあとも)いちいち手動で更新してやらなければいけなかった。

MovableType 2.Xの時代、MovableTypeのソースを変更して自動的にリビルドする方法をいくつかのサイトで見かけたが、ソースを変更してしまうとバージョンアップのときに何かと大変だ。MovableType 3.0 になって同様なことがプラグインでできるようになっていることがわかった。見よう見まねで作ってみたので一応公開することにする。

以下の RebuildPrevNextInCategory.pl というファイルを MTのplugins ディレクトリに置くだけでOKだ。もちろん、EntryCategoryLinksと併用することを想定している(なくても動くけど意味がない)。

**追記(2004-08-05)

エントリー初期登録時にエラーになるバグがあったので修正しました。

**追記(2005-01-01)

  • 削除時にも前後のエントリーを自動でリビルドするようにしました。
  • 公開されていないエントリーは無視するようにしました。
  • versionは 1.01 にします。

**MovableType3.2対応(2005-09-20)

  • しました。

**もろもろ(2005-10-05)

  • 場合によってリビルドされないバグを修正しました。というより以前はたまたま動いていただけでした。すみません。
  • 直前、直後のエントリーの場合はMovableTypeにまかせて、このプラグインではリビルドしないようにしました。

**結局(2006-01-15)

  • どうやら初回保存のときは100%プラグインが動作しないようです。エントリーが一度も保存されていない状態だと、カテゴリーがうまく取得できないのかもしれません。当面、エントリー作成直後は未公開状態で保存してから、公開するようにしてください。
  • バージョンを1.2に戻します。

トラックバック(11)

 「できたー」で使用したEntryCategoryLinks Pluginですが欠点がありました。同じカテゴリーの1つ前のエントリーが抜けてしまい、表示されない... 続きを読む

ウチはカテゴリーがごちゃごっちゃで、さらに一部のカテゴリーだけ別ページ表示にして... 続きを読む

ここでは使ってないけど、別のとこで使ってるツール。カテゴリー内の前後のリンクを貼... 続きを読む

やっとできるようになった・・・・・何が? と言う訳で、今回は「カテゴリー内エントリー前後移動」に挑戦してみました。 実を言うと、MT3.2英語版を使い始め... 続きを読む

MTでカテゴリーから個別アーカイブへ飛んだとき、その前後移動はエントリーの投稿順... 続きを読む

パーマリンクなどで、そのエントリーだけを見ると上部に前後のエントリーに移動できる... 続きを読む

mayu*can: カテゴリ内のページナビ(追加カスタマイズ)でしていたカスタマ... 続きを読む

Hesokuri-Way×へそくりライフ - 前後をカテゴリーで移動する (2005年11月11日 22:44)

個別エントリーの前後をカテゴリー別で移動させるプラグインと、サンプル 続きを読む

30代サラリーマンのためのMovableTypeで簡単!ホームページ管理 - 同じカテゴリー内の前後エントリーへのリンク (2006年2月26日 00:48)

さて、ここでは、カテゴリー内の前後のエントリーへのリンクを自動的に設定する方法を... 続きを読む

最初のうちは全く気付いていませんでした。同一カテゴリ内の移動 Part2でPre... 続きを読む

ただ「動かない。」だけでは気が済まないし、なによりそのコンセプトにはおおいに共感するものがあったので、なぜ動かないのかを追ってみる事にした。そして、その解... 続きを読む

コメント(14)

こんにちは。

エントリーの移動をカテゴリー内に限定したくて、情報を探していたらこちらにたどり着きました。自動再構築もさせたいのですが、MT.pm を改造するのは私もいやです。 で、RebuildPrevNextInCategory.pl を試してみたいのですが、リンクが切れているようでダウンロード出来ませんでした。修正して頂けませんでしょうか。よろしくお願いいたします 。

すみませんでした。サーバーを移行するときに忘れてしまったようです。今は平気になっていると思うので、再度お試しください。

早速の対応ありがとうございます。使ってみましたが、問題無く動いております。入れるだけで動いてしまうなんて凄いなぁと感心してしまいました。便利なものをありがとうございます。

こんにちは。
やっとやりたいことを教えていただけるところにたどり着いたんですが、肝心のEntryCategoryLinksがなくなっているようなんですが、どこにあるかご存知ありませんか。それと、リビルドするプラグインも使わせていただきたいと思いますので、よろしくお願いします。

Alexei Kosut さんにお願いしたので、そのうち公開されると思います。-公開されました。こちらのリンクも貼りなおしておきました。

はじめまして。
RebuildPrevNextInCategory.plを使わさせていただきます。
便利なプラグインに感謝です。

MovableType 3.2に対応しました。新しもの好きの方は差し替えてください。

MT3.2を使うことになり、色々改造をしていたときに、このプラグインを使わせてもらいました。

EntryCategoryLinks と一緒に使っているのですが、自動リビドが機能していなく、手動でリビドしないと、前後のエントリーが表示しません・・・。
MT3.2のプラグインで確認してもエラーは出ていませんので、おかしいな?と思い、忙しいと思いますが、コメントで質問させていただきました。
もし、解決できる方法がありましたら、よろしくお願い致します。

カノウさん。

すみません。バグバグでした。たぶん直っていると思うので、再ダウンロードの上、お試しください。以前ダウンロードされた方も、アップデートしてください。

アップデートさせていただきました。
自動リビドの問題は解決しているように思えますが、まだわかりません。。。

それは、自動リビド以前に「最新のエントリー」では前後(正確には前だけ)が表示されていない。と、いうことです;
例えば、新しく作ったカテゴリーにエントリーが1つか入っていない状態で表示されています。
これは、「EntryCategoryLinks」でのバグなのでしょうか?
その症状が出ているのは
http://egoism.lolipop.jp/blog3.2/archives/2005/1005163707.php
になっているので、確認のためにも一度覗いて見てください。
よろしくおねがいします。

構築されたファイルの話なので、問題があるとすればEntryCategoryLinksですね。ソースコードをのぞいてみて、ひとつ可能性を思いつきました。EntryCategoryLinksではエントリーのステータスをみていません。つまりステータスが下書きであってもカテゴリー内の直前のエントリーとみなしてしまいます。下書きのエントリーが放置されていないでしょうか?もし、あれば、エントリーを削除するか、カテゴリーを変えてみてください。

下書きことをヒントに試行錯誤した結果、完璧な答えは見つかりませんでしたが、ぼやけた答えなら見つけることが出来ました!

下書きなどといった、使われていないはずのログはFTPで確認し、全部削除。
もちろん、エントリーで下書き状態になっているものはありませんでした。
それでも直らないので、最新のエントリー(A)の直前のエントリー(B)のカテゴリーを(A)に移動してやると、症状は治ることが判明。
もう一度カテゴリーを直し、テストエントリーをカテゴリーAにしているとダメで、日付を直前のエントリーの後にしてみると症状が治る。

このことで、最新のエントリーと直前のエントリーの間に下書き状態のファイルがあると思ったのですが、FTPでみても何も無し・・・。
幽霊ファイルみたいなのってあるんですかね?
今は、テスト投稿に何かしらの内容を書き込んで症状が直っている様に見せていますが、またこの症状がでると面倒になってきますね;

あと、自動リビトですが、なんどもやっていますが、機能していないみたいですので、こちらも一応報告いたします。

私の環境でも自動でリビルドしませんでした。
MT3.2j2で、サブカテゴリー内の記事を何度か投稿してテストし、念のためEntryCategoryLinks.plのuse warnings;をコメントアウトもしてみましたが、それでもうごきませんでした。
うまく動いている人が羨ましいです。

りおさん。お返事が遅くなりすいません。こちらの環境でもエントリー作成直後はうまく動いてくれません。本文にも追記しましたが、同様な現象の場合一度未公開状態で保存してから、再度公開状態で保存してください。
それ以外の問題の場合、詳しい状況をお知らせください。
よろしくお願いします。

コメントする