# LWR サイト向けの式

## 概要

式を使用すると、計算を行ったり、プロパティ値やその他のデータにアクセスしてコンポーネントの属性に渡したりできます。式は動的な出力や属性に値を割り当ててコンポーネントに値を渡すために使用します。

式とは、単一の値に解決できるリテラル値、変数、サブ式、または演算子の任意の組み合わせです。式内でメソッド呼び出しは許可されていません。

式の構文は次のとおりです: **`{!expression}`** ここで expression はプレースホルダーです。

## データバインディング式

| 式                                 | 説明                                                      | サポートされるページとコンポーネント                                                                                                                                                                                                                          |
| --------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **`{!Item.field}`**               | 現在バインドされているデータのフィールドのデータを取得します。                         | データにバインドされているものすべて。Salesforce CMS やレコードデータを含めることができます。                                                                                                                                                                                      |
| **`{!Item.field._rawValue}`**     | データフィールドの生の値を取得します。                                     | CRM データにバインドされているものすべて。                                                                                                                                                                                                                     |
| **`{!Item.field._displayValue}`** | データフィールドのフォーマット済みおよびローカライズされた値を取得します。                   | CRM データにバインドされているものすべて。                                                                                                                                                                                                                     |
| **`{!Item._detailURL}`**          | Salesforce CMS データアイテムの URL を取得します。                     | CMS アイテムにバインドされているものすべて。CMS 詳細ページを含みます。                                                                                                                                                                                                     |
| **`{!Label.namespace.name}`**     | Experience Builder でラベルを指定したときに、そのラベルのローカライズされた値を定義します。 | まず、Salesforce 設定で翻訳済みのカスタムラベルを作成します。詳細については、次を参照してください [カスタムラベルの翻訳](https://help.salesforce.com/s/articleView?id=cl_translate_edit.htm\&language=en_US\&type=5)。次に、Experience Builder のテキストフィールドを持つ任意のコンポーネントでラベル式を使用して、ローカライズされたラベルを表示します。 |

## その他の式

その他の式を使用してパラメータを照会したり、サイトの正しい basePath を解決したり、式でユーザーフィールドを活用したりできます。

| 式                                         | 説明                                                                                  | サポートされるページとコンポーネント                                                                                                  |
| ----------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **`{!Route.param}`**                      | URL からクエリパラメータを取得します。                                                               | <ul><li>すべてのページ</li><li>文字列プロパティを持つ標準およびカスタムコンポーネント</li><li>HTML エディタ</li><li>リッチコンテンツエディタ</li></ul>                |
| **`{!param}`**                            | : がパラメータの前に付く URL からパラメータ値を取得します。たとえば /global-search/:term の URL から {!term} を取得します。 | <ul><li>URL に動的パラメータを含むすべてのページ</li><li>文字列プロパティを持つ標準およびカスタムコンポーネント</li><li>HTML エディタ</li><li>リッチコンテンツエディタ</li></ul> |
| **`{!Site.basePath}`**                    | LWR サイトの basePath に解決されます。                                                          | <ul><li>すべてのページ</li><li>文字列プロパティを持つ標準およびカスタムコンポーネント</li><li>HTML エディタ</li><li>リッチコンテンツエディタ</li></ul>                |
| **`{!User.userId}`**                      | ユーザの Salesforce ID に解決されます。                                                         | <ul><li>すべてのページ</li><li>文字列プロパティを持つ標準およびカスタムコンポーネント</li><li>HTML エディタ</li><li>リッチコンテンツエディタ</li></ul>                |
| **`{!User.isGuest}`**                     | ユーザがゲストユーザかどうかに基づいて TRUE または FALSE を返します。                                           | <ul><li>すべてのページ</li><li>文字列プロパティを持つ標準およびカスタムコンポーネント</li><li>HTML エディタ</li><li>リッチコンテンツエディタ</li></ul>                |
| **`{!User.Record.<User sObject Field>}`** | Salesforce の User オブジェクトのフィールドの値に解決されます。                                            | <ul><li>すべてのページ</li><li>文字列プロパティを持つ標準およびカスタムコンポーネント</li><li>HTML エディタ</li><li>リッチコンテンツエディタ</li></ul>                |
| **`{!User.Commerce.BuyerGroups}`**        | Commerce テンプレートを使用して構築されたサイトで使用した場合、ユーザに関連付けられたバイヤーグループの一覧を返します。                    | <ul><li>すべてのページ</li><li>文字列プロパティを持つ標準およびカスタムコンポーネント</li><li>HTML エディタ</li><li>リッチコンテンツエディタ</li></ul>                |

* HTML エディタまたはリッチコンテンツエディタコンポーネントで {!param} または {!Route.param} 式を使用すると、セキュリティ上の理由から一部の HTML 特殊文字がエスケープされるか、別の値に置き換えられます。これらの文字には <、>、および & が含まれます。
* LWR サイトは {!CurrentUser. で始まる認証済みユーザ情報を表示する式をサポートしていません。
* ユーザデータを含む式は、リッチコンテンツエディタでプレビューおよび公開されたサイト上でのみ解決されます。
* User データをバインドする場合、{!User.Record.\<User sObject Field>} 式を使ってすべての User sObject フィールドにアクセスできます。Commerce テンプレートを使用して構築されたサイトでは、{!User.Commerce.\<Commerce Field>} 式を使用して Commerce に関連するユーザーデータにアクセスすることもできます。Summer ’23 リリースでは、Commerce フィールドとして BuyerGroups のみがサポートされています。

### 出典

<https://developer.salesforce.com/docs/atlas.en-us.exp_cloud_lwr.meta/exp_cloud_lwr/advanced_expressions.htm><br>
