特定のフィールドに保存されたIDに該当する記事を再構築する Movable Type プラグイン - RebuildRelatedObjects
2014-05-30
1分で読了
更新: 2025-12-14
目次
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を組みあわせれば、比較的簡単に実装することができます。
その方法は後日書こうと思います。
以上です。