パッチ ファイルを使用してSitecore設定をカスタマイズする

Version: 10.1
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

パッチ ファイルを使用して、Sitecore.configファイルの構成設定を追加または変更します。Sitecoreは、パッチ ファイルをSitecore.configファイルとマージして、ランタイムで使用される設定ファイルを作成します。

このトピックでは、次の方法について説明します。

パッチ ファイルの作成

パッチファイルを作成して構成設定をカスタマイズするには:

  1. Sitecoreの2つの カスタマイズ可能なレイヤー のいずれかにファイルを作成します。

    • カスタム レイヤー – システム環境に依存しない方法でデフォルトのSitecore設定をカスタマイズするパッチ ファイルを、カスタム レイヤーに属する /App_Config/Includeフォルダーに配置する必要があります。

    • 環境レイヤー – QAやDevelopmentなどの特定の環境に対してSitecoreを設定するパッチ ファイルを、環境レイヤーに属する /App_Config/Environmentフォルダーに配置する必要があります。

    ファイルは、フォルダのルートに配置することも、フォルダ内に作成したサブフォルダに配置することもできます。

  2. パッチ ファイルに拡張子 .configで終わる名前を付けます。

  3. ファイル内の次の基本構造から開始します。

    RequestResponse
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <sitecore>
    </sitecore>
    </configuration>
    
  4. パッチ ファイルの <sitecore> セクションで、構成に追加する設定変更を追加します。

    メモ

    パッチを適用できるのは、app_config/sitecore.configファイル内の設定のみです。 web.configファイルやapp_config/layers.configファイルなど、他のファイルの設定はパッチを適用できません。これらのファイルの設定を変更する必要がある場合は、直接編集する必要があります。

ルールベースの設定を使用して、Sitecoreがパッチ適用された設定を適用する条件を制御します。

設定の適用方法を制御する

Sitecoreがパッチ ファイルからの変更を適用すると、要素名と要素のすべての属性の組み合わせを使用して、パッチ ファイルの各要素を既存の設定の要素と一致させようとします。一致するものがある場合、Sitecoreは既存の要素を更新します。一致するものがない場合、Sitecoreは新しい要素を挿入します。

手記

パッチ ファイル要素が既存の設定の複数の要素と一致する場合、Sitecoreは最初に一致した要素に更新を適用します。したがって、要素を一意に識別するのに十分な属性を指定することを強くお勧めします。

デフォルトでは、Sitecoreは、要素が属する設定セクションの最後に新しい要素を挿入します。

Sitecoreが要素を挿入する方法を制御するには、次の手順に従います。

  1. 属性を使用して設定を変更または追加できるようにするpatch XML名前空間とset XML名前空間を <configuration> 設定に追加して登録します。

    RequestResponse
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" 
    xmlns:set="http://www.sitecore.net/xmlconfig/set/">
    
  2. patch: 属性を使用して、既存の要素に対して要素が配置される場所を指定したり、同じ名前の既存の要素を置き換えたり更新したりすることを指定します。次の属性を使用できます。

    • patch:before - 指定した要素の前に要素を挿入します。

    • patch:after - 指定した要素の後に要素を挿入します。

    • patch:attribute - 要素の指定された属性を定義または置換します。 set名前空間を使用しても同じ効果を得ることができます。

    • patch:delete - 指定した要素を削除します。

    • patch:instead – 指定した要素を置き換えます。

    たとえば、mysiteという名前のサイトを追加し、websiteという名前の既存のサイトの前に配置するには、次の構文を使用します。

    RequestResponse
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
      <sitecore>
        <sites>
          <site patch:before=”*[@name='website']” name=”mysite” ... />
        </sites>
      </sitecore>
    </configuration>
    
手記

パッチ ファイルの例を使用して、Sitecoreの設定を変更することができます。パッチファイルの詳細については、「インクルードファイルパッチ機能」ガイドを参照してください。この説明は主にSitecoreバージョン6に関連していることに注意してください。

設定ファイルの読み込み順序を制御する

Sitecoreが設定ファイルをロードする順序は、ファイルに加えられた変更が後でロードされるファイルによって変更または上書きされる可能性があるため、重要です。Sitecoreが複数のファイルで同じ設定を見つけた場合、最後にロードするファイルによって設定の以前のバージョンが上書きされます。

レイヤー内で設定ファイルが読み込まれる順序を制御するには:

  1. /App_config/layers.configファイルで、レイヤーの定義に <loadOrder> 設定を追加します。

    RequestResponse
    <layer name="Custom" includeFolder="/App_Config/Custom/">
    <loadOrder>
    </loadOrder>
    </layer>
    
  2. ファイルフォルダまたは個々のファイルを <loadOrder> セクション内に、ロードする順序で追加します。

    RequestResponse
    <loadOrder>
    <add path="Folder23" type="Folder" />
    <add path="Folder9/sitespecific.config" type="File" />
    <add path="Folder1" type="Folder" />
    </loadOrder>
    

Sitecoreは、<loadOrder> 設定を検出すると、次の順序で設定ファイルを読み込みます。

  1. <loadOrder>セクションで指定したフォルダとファイルは、リストされている順序で最初に読み込まれます。前の例では、Folder23フォルダー内のファイルが最初に読み込まれ、次にsitespecific.configファイル、次にFolder1フォルダー内のファイルが読み込まれます.

  2. <loadOrder>セクションで指定されていないフォルダとファイルは、2番目に読み込まれます。アルファベット順に読み込まれます。フォルダのルートに配置されたファイルは、サブフォルダ内のファイルよりも先に読み込まれます。

手記

設定の表示ツールを使用すると、Sitecoreが実行時にコンパイルしたときの設定を確認できます。また、Show Config ツールを使用して、実際に構成を変更せずに、構成ルールの変更や構成レイヤーの無効化をシミュレートすることもできます。

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、