複数の ウェブサイト/ブログ を串刺しにした月別アーカイブを作る

| コメント(0) | トラックバック(0)

PowerCMS の Pager や PageBute を利用したページ分割は非常に効率が悪いので記事の件数が半端無く多いシチュエーションでは使わない方が絶対にいいです。

記事の更新頻度によって月別、年度別、年別等の time-basedなアーカイブにしたほうがいい。理由は、time-basedなアーカイブは更新対象のアーカイブのみが再構築されるためです。ページングって、1件増えたら、1件削除されたら全アーカイブが1件だけ「ずれて」全再構築されるのです。1件更新されても全アーカイブが再構築対象になります。

というようなことを口を酸っぱくして言ってんのに、結局破綻してしまったというケースに出くわしたので作成しました。

これ、カテゴリとかもニーズあるよね、MT7では標準機能になるよね、と振るだけ振っておいて。

アーカイブマッピングで「手動」を選択

  • https://github.com/alfasado/mt-plugin-monthly-entries-publisher
  • プラグインをインストール
  • ウェブサイト(ブログでも良い)月別アーカイブを作成し、include_blogsで含めるブログを指定する
  • テンプレートマップの再構築オプションは「手動」とする(「再構築しない」を選択しないこと:「再構築しない」だと書き出されない)
  • MTEntriesの__first__ もしくは MTEntriesHeader 内に 「<!--EntriesCount:<mt:EntriesCount>-->」記述を入れる(ファイル出力時にはこの値は削除されます)
  • mt-config.cgi に MonthlyEntriesPublisherTemplateIds テンプレートのIDカンマ区切りを記載
  • mt-config.cgi に MonthlyEntriesPublisherBlogIds として、記事保存時にキューに入れる対象のブログIDをカンマ区切りで記載

再構築はキューで実行されます。ダイナミックパブリッシングには対応していません。

トラックバック(0)

トラックバックURL: http://junnama.alfasado.net/cgi/mt/mt-tb.cgi/932

コメントする

Facebook

Twitter

このブログ記事について

このページは、Junnama Nodaが2016年1月31日 16:26に書いたブログ記事です。

ひとつ前のブログ記事は「MTのカスタムフィールドを MySQL の Bulk Insertにしたら Data API からの記事投入/更新が300%以上高速化されたというお話し」です。

次のブログ記事は「何も考えずにブラウザのデフォルトスタイルをリセットするなという話し。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.2.6