現在のエクスペリエンスビルダーサイトに関する情報の取得

範囲設定されたモジュール @salesforce/community および @salesforce/site から現在のエクスペリエンスビルダーサイトに関する情報をインポートします。

@salesforce/community または @salesforce/site をインポートしたコンポーネントは、エクスペリエンスビルダーページのみを対象にできます。他の Salesforce コンテナでコンポーネントを使用することはできません。「エクスペリエンスビルダーのコンポーネントの設定」を参照してください。

エクスペリエンスビルダーサイトは、ネットワークオブジェクトとサイトオブジェクトから構成されています。ネットワークオブジェクトには、メールやメンバーシップの設定などの管理設定が、サイトオブジェクトにはドメインとページの設定情報が含まれています。@salesforce/community モジュールを使用すると、サイトのネットワーク部の ID を取得できます。一方、@salesforce/site モジュールを使用すると、サイト部の ID を取得できます。

@salesforce/community から現在のエクスペリエンスビルダーサイトのネットワーク ID とベースパスをインポートします。

  • property — サポートされるプロパティは次のとおりです。

    • Id — 現在のサイトの ID。たとえば、API にパラメータとして渡す ID をインポートします。

    • basePath — ベースパスは、ドメインの後に続くサイトの URL のセクションです。サイトドメイン名が UniversalTelco.force.com で、サイトを作成したときに追加された URL 値が myPartnerSite の場合、サイトの URL は UniversalTelco.force.com/myPartnerSite/s です。この場合、myPartnerSite/s がベースパスです。

      たとえば、複数のサイトで機能するリンクコンポーネントを作成するには、ベースパスをインポートし、それを使用して完全なサイト URL を動的に作成します。

  • propertyName — インポートされたエクスペリエンスビルダープロパティを参照する名前。

このサンプルコードでは、現在のサイトのすべてのフィード項目を返す Apex コントローラをコールします。

Apex コントローラは、コミュニティ ID を取得して、フィード結果がそのサイトに限定されるようにします。

@salesforce/site から現在のエクスペリエンスビルダーサイトのサイト ID と有効な言語のリストをインポートします。

  • property — サポートされるプロパティは次のとおりです。

    • Id — 現在のサイトの ID。たとえば、API にパラメータとして渡す ID をインポートします。
    • activeLanguages — エクスペリエンスビルダーサイトの有効な言語のリストには、デフォルトのサイト言語とその他のすべての有効な言語に関するメタデータが含まれています。エクスペリエンスビルダーのサイトの言語は、[設定] | [言語] で設定できます。無効な言語はリストから除外されます。戻り値は言語オブジェクトの配列です。各オブジェクトには、言語の表示ラベルとコード (en-US など) が含まれています。配列はラベルのアルファベット順に並び替えられます。
  • propertyName — インポートされたエクスペリエンスビルダープロパティを参照する名前。

次のサンプルコードでは、言語セレクタコンポーネントで activeLanguages が使用されています。

次のコンポーネントでは、lightning-combobox を使用してドロップダウン言語ピッカーが表示されます。

関連トピック