Using Fragments
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

フラグメントの変更のプロパゲート

デフォルトでは、カスタムフラグメントのコードに加えられた変更は、フラグメントのデプロイされたインスタンスにプロパゲートされません。 フラグメント伝播を使用すると、フラグメントインスタンスへの変更を次の2つの方法のいずれかで伝播できます。

重要

データの上書きを防ぐため、編集可能なフィールドに加えられた変更は、フラグメントに直接反映されません。 ただし、フラグメントのフィールドIDを変更することで、伝播を強制的に実行できます。 プロパゲートされると、フィールドのコンテンツは表示されなくなりますが、古いフィールドIDを使用してデータベースからコンテンツを取得できます。 詳細については、開発者向けドキュメントの フラグメント固有のタグと属性のリファレンス を参照してください。

変更を手動でプロパゲートする

  1. サイトメニュー (Site Menu) を開き、 デザインフラグメント に移動します。

  2. 目的のフラグメントのフラグメントセットに移動します。

  3. 目的のフラグメントに対して アクション (Actions Button) をクリックし、 使用状況の表示 を選択します。

    フラグメントの「アクション」をクリックし、「使用状況の表示」を選択します。

    ヒント

    使用状況の表示 オプションが利用できない場合、フラグメントは使用されていません。

  4. 「使用状況と伝播」ページで、最新バージョンに更新したいフラグメントインスタンスを確認してください。

    表では、ページまたはテンプレートが 以前のバージョン を使用しているか、 最新バージョンを使用しているかを確認できます。

    更新するフラグメントインスタンスを選択してください。

  5. をクリックして (Propagate) を伝播し、フラグメントの選択したインスタンスを更新します。

編集不可フィールドに加えられた変更は、選択されたフラグメントインスタンスに自動的に反映されます。

重要

フラグメントの変更を伝播する場合、更新は、 マスターページテンプレート のドラフトバージョンと公開バージョンの両方に伝播されない限り、適用されません。 公開版のみが更新された場合、下書きは変更されないため、派生ページに矛盾が生じる。 一貫性を確保するため、必ず最初にドラフトに反映させ、変更内容を確認してからテンプレートを公開してください。

変更を自動でプロパゲートする

警告

自動プロパゲーションは、本番環境において、誤字や不正確なコンテンツが公開されるなど、意図しない結果を招く可能性があります。 自動伝播は、テストまたは開発目的でのみ使用してください。

  1. グローバルメニュー (Global Menuを開き、 コントロールパネル タブをクリックし、 設定システム設定 に移動します。

  2. 「コンテンツとデータ」セクションで、「 ページフラグメント」をクリックします。

  3. [フラグメントの変更を自動的にプロパゲート]ボックスをオンにします。

    [フラグメントの変更を自動的にプロパゲート]ボックスをオンにします。

  4. [保存]をクリックします。

有効にすると、フラグメントの編集不可フィールドに加えられた変更は、フラグメントのすべてのインスタンスに自動的に反映されます。

重要

デプロイ プロセス中にデフォルト フラグメントの変更を自動的に伝播する が選択されている場合、Liferay は起動時とデプロイ時にもデフォルト フラグメントの変更を伝播します。

既製のフラグメントを使用するコンテンツページが多数存在する環境では、このプロセスによって起動時間が大幅に増加する可能性があります。 伝播処理中は、Liferayはリクエストを受け付けず、応答がないように見える場合があります。

Liferay PaaS環境では、遅延によって自己修復プローブがトリガーされ、繰り返し再起動が発生する可能性があります。

この設定は、アップグレード直後など、必要な場合にのみ使用してください。 伝播が完了したら、起動遅延を減らすために、 システム設定インスタンス設定 の両方の設定をクリアしてください。