条件付きレンダリング用のカスタムパーソナライズルールを追加

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

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

Sitecore条件付きレンダリングに使えるいくつかのデフォルトのパーソナライズルールが含まれています。既存のルールで対応できない特定のニーズがある場合は、自分でパーソナライズルールを作成できます。このトピックでは、Defaultデバイス上で条件付きレンダリングに使えるカスタムパーソナライズルールの作成方法を説明します。

カスタムルールを追加してください

  1. sitecore/system/Settings/Rules/Definitions/Tagsで、右クリックでタグを押し、「>タグ****を挿入」をクリックしてから、新しいタグの名前を入力します。

  2. /sitecore/system/Settings/Rules/Definitions/Elementsでは、Elementsを右クリックして「Element Folder >挿入」をクリックすると、ルール要素フォルダを作成できます。

  3. 新しく作成した要素フォルダを右クリックし、「条件を挿入」>「条件」をクリックし、新しい条件の説明名を入力します。

  4. 新しい条件の テキスト フィールドには、ルールを使う人のユーザー向けテキストとルール条件を作成する入力フィールドの組み合わせを入力します。例えば、「クエリ文字列パラメータが値と比較される場合」のように、下線付きのテキストが条件を表しています。各条件を4つのカンマ区切られた値を含む正方形括弧のペアで定義します。

    • 条件を実装する.NETクラスのプロパティ名です。ユーザーが条件の値を入力すると、その値は.NETクラスプロパティに割り当てられます。

    • あらかじめ定義された機能を含むマクロの名前です。例えば、ユーザーが整数を選択できるユーザーインターフェースです。これを空にしておくと、デフォルトのインターフェースが使われます。既存のマクロを使えば、例えば文字列演算子を使えます:

      where the current contact's AreaName,,,Area Name Key,,,Key OperatorId,StringOperator,,compares to RuleString,,,specific value

      !注マクロを /sitecore/system/Settings/Rules/Definitions/Macrosで定義します。

    • ユーザーインターフェースに関連するURLパラメータを、マクロでインターフェースを作成する場合に指定します。例えば、選択木のルートとして /sitecore/Content/Home項目を指定するには、root=/sitecore/Content/Homeと入力します。URLパラメータが期待できない場合は、このパラメータを空にしても構いません。

    • ルールセットエディターで表示するテキスト。ユーザーが値を選択すると、テキストはそれに応じて変化します。

  5. 新しい条件の 型 フィールドに、条件を実装する.NETクラスの完全修飾名を以下の形式で入力します: namespace, assembly name。

    A screenshot of the Content Editor Type field for a new condition.
  6. 新しい要素フォルダで 「Tags > Default」をクリックし、ステップ1で作成したタグを割り当てます。

  7. ルールセットエディターの 条件付きレンダリングにルールを表示するには、/sitecore/system/Settings/Rules/Conditional Renderings/Tags/Defaultを開き、新しいタグを 条件付きレンダリング タグに割り当ててください。

  8. 最後に、Sitecoreのbinフォルダに、条件を実装する.NETクラスを含むDLLを追加します。名前空間とクラス名が上記のTypeフィールドで指定された値と一致していることを確認してください。.NETクラスは以下のいずれかのクラスから継承する必要があります:

    • ブール条件を実装するには、 Sitecore.Rules.Conditions.WhenConditionを使用します。
    • 文字列の値を比較するには、 Sitecore.Rules.Conditions.StringOperatorConditionを使用します。
    • 他のタイプの値を比較するには、 Sitecore.Rules.Conditions.OperatorConditionを使用します。

プロセスを完了すると、ルールはSitecoreルールセットエディターで利用可能になります。

例えば、以下のテキストです:

A screenshot of text input for a condition.

結果は以下の通りです:

A screenshot of the Sitecore Rule Set Editor.
この記事を改善するための提案がある場合は、 お知らせください!