特定のフィールドに保存されたIDに該当する記事を再構築する Movable Type プラグイン - RebuildRelatedObjects

RebuildRelatedObjects というプラグインを公開しました。

動作はいたってシンプルなのですが、なぜか説明がしにくいので、下図を使って説明します。

例えば、このブログの記事とウェブページには次のようなカスタムフィールドがあります。

  • 名前:関連ページ
    オブジェクト:記事
    用途:関連するウェブページのIDを保存するフィールド
    ベースネーム:parent_pages
  • 名前:関連記事
    オブジェクト:ウェブページ
    用途:関連する記事のIDを保存するフィールド
    ベースネーム:child_entries

今、このブログに記事が3つ(ID : 1 〜 3)、ウェブページが3つ(ID : 4 〜 6)があるとします。

このうち、IDが2の記事の「関連ページ」フィールドには「4」が保存されており、IDが4のウェブページの「関連記事」フィールドには「2,3」が保存されています。

このとき、記事2を保存すると、関連ページのウェブページ(ID=4)も再構築され、ウェブページ4を保存すると関連記事の記事(ID=2と3)も再構築されます。

ただそれだけです。

単純なプラグインですが、上手く利用すればウェブページを複数の記事のトップページのようにしたり、手動で関連記事を設定したりするような運用時に、いちいちどのテンプレートを再構築するのかなど考えなくて良くなりますね。

IDを保存するUIはMTAppjQueryを使ってカスタマイズ

このような運用をするとき、記事のIDをどうやってフィールドに入力するかというところが問題になってきますが、例えば、MTAppjQueryとData APIを組みあわせれば、比較的簡単に実装することができます。

その方法は後日書こうと思います。

以上です。

  • このエントリーをはてなブックマークに追加
Just a second...