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