PowerCMS では、ウェブサイト/ブログをまたがった詳細な再構築トリガーを設定することができます。トリガーの設定はテンプレート個別、もしくはウェブサイト/ブログ単位で行うことができ、バックグラウンドでの再構築にも対応しているため、サーバー負荷を最小限にすることが可能です。
管理画面へのリクエスト・パラメータによるトリガーの指定
管理画面アクセス時のリクエスト・パラメータによる再構築トリガーの設定と呼び出しを可能にします。リクエスト・パラメータによる再構築トリガーの設定は、システムメニューもしくはユーザーメニューの「設定」→「PowerCMS」から行います。指定は YAML 形式で記述します。この指定によって、例えば「特定のバナーグループが更新された時にトップページを再構築する」といった細かな指定が可能になります。
記述例
リクエストパラメータが以下の時(バナーグループの保存後)に template_id が 1 と 2 のインデックス・テンプレートを再構築する
mt.cgi?__mode=view&_type=campaigngroup&blog_id=2&id=1&saved=1
YAML では、特定のキー名(ユニークな任意の文字列)、params および template_id または blog_id を指定します。
CampaignTrigger:
params:
- __mode=view
- _type=campaigngroup
- id=1
- saved=1
template_id:
- 1
- 2
blog_id を指定すると、そのウェブサイト/ブログを対象に再構築を行います。なお、archive_type を指定することも可能です (指定可能なアーカイブタイプには制限があります)。
CampaignTrigger:
params:
- __mode=view
- _type=campaigngroup
- id=1
- saved=1
archive_type: index
blog_id の指定にテンプレートタグを指定することも可能です。
リクエストパラメータが以下の時 (ブログの全般設定の保存時) にそのブログのインデックス・テンプレートを再構築する
mt.cgi?__mode=cfg_prefs&_type=blog&blog_id=2&id=2&saved=1
CfgTrigger:
params:
- __mode=cfg_prefs
- _type=blog
- saved=1
blog_id: <mt:BlogId>
archive_type: index
テンプレート・タグでの再構築トリガー
テンプレート・タグを特定のテンプレートに埋め込むことによって、そのテンプレート・タグが呼び出された (ビルドされる) 段階で再構築処理が実行されます。環境変数 RebuildTriggerBackgroundTasks を指定すると、バックグラウンドで再構築処理を行います (この設定は FastCGI/PSGI 環境では無効になります)。
これらのテンプレート・タグは、スタティックパブリッシングのテンプレートでのみ有効です。プレビューの際には再構築トリガーは実行されず、また、一度の管理画面CGIへのリクエストで同じテンプレートは一度しか再構築されません。
ファンクションタグ
環境変数
環境変数 | 解説 | 初期値 |
---|---|---|
RebuildTriggerBackgroundTasks | PowerCMSの再構築トリガーをバックグラウンドで実行します。FastCGI環境では有効になりません。 | 0 |
RebuildMultiBlogAtDeleteEntry | 記事を削除した時にマルチブログのトリガをコールします。 | 1 |