PowerCMS™
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] フォーム投稿の自動返信メールに連番の受付番号を付与することはできますか? を追加しました。
[ブログ] PowerCMS サポートの実績 (2022年10月) を追加しました。
[新着情報] 【オンライン】11月24日(木) ステークホルダーとの信頼関係を構築できるサイトづくりとは? ~サイトでのBCP対策から情報配信のコツを一挙公開~ を追加しました。
ホーム > PowerCMS > ドキュメント > スタンダード版 > 再構築 >

再構築トリガー

アドオン・プラグイン

PowerCMS では、ワークスペース/スペースをまたがった詳細な再構築トリガーを設定することができます。トリガーの設定はテンプレート個別、もしくはワークスペース/スペース単位で行うことができ、バックグラウンドでの再構築にも対応しているため、サーバー負荷を最小限にすることが可能です。

管理画面へのリクエスト・パラメータによるトリガーの指定

管理画面アクセス時のリクエスト・パラメータによる再構築トリガーの設定と呼び出しを可能にします。リクエスト・パラメータによる再構築トリガーの設定は、システムメニューもしくはユーザーメニューの「設定」→「PowerCMS」から行います。指定は YAML 形式で記述します。この指定によって、例えば「特定のバナーグループが更新された時にトップページを再構築する」といった細かな指定が可能になります。

再構築トリガを YAML で設定する

記述例

リクエストパラメータが以下の時(バナーグループの保存後)に template_id が 1 と 2 のインデックステンプレートを再構築する

mt.cgi?__mode=view&_type=campaigngroup&blog_id=2&id=1&saved=1

YAML では、特定のキー名(ユニークな任意の文字列)、params および templateid または blogid を指定します。

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
  blog_id: 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へのリクエストで同じテンプレートは一度しか再構築されません。

ファンクションタグ

MTRebuildBlog
テンプレートタグの実行時に blog_id または blog_ids (カンマで区切られたスペースのID) モディファイアと archivetype (カンマで区切られた) モディファイア (省略時はすべてが対象となります) を指定してスペースを再構築します。
MTRebuildIndexByID
テンプレートタグの実行時に template_id (カンマで区切られたインデックステンプレートの ID) モディファイアに指定されたインデックステンプレートを再構築します。
<MTRebuildIndexById template_id="18,19">
MTRebuildIndexByBlogID
テンプレートタグの実行時に blog\_id または blog\_ids (カンマで区切られたスペースの ID) モディファイアと archivetype (カンマで区切られた) モディファイア (省略時はすべてが対象となります) を指定してスペースのインデックステンプレートを再構築します。

環境変数

環境変数 解説 初期値
RebuildTriggerBackgroundTasks PowerCMSの再構築トリガーをバックグラウンドで実行します。FastCGI環境では有効になりません。 0
RebuildMultiBlogAtDeleteEntry 記事を削除した時にマルチスペースのトリガをコールします。 1

お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。