SaaS データ書き出しフィードデータの拡張とカスタマイズ

Commerce Data Export 拡張機能を使用すると、Commerce アプリケーションからCommerce サービス(Live Search、カタログサービス、Product Recommendations など)にデータを書き出すことができます。 必要に応じて、フィードデータを拡張およびカスタマイズして追加の属性データを含めたり、収集したデータを変更したりできます。

属性データを追加した後、ストアフロントサービスのGraphQL スキーマの 属性フィールドからアクセスできます。

NOTE
フィードデータを追加または変更すると、Commerce バックエンドのパフォーマンスと処理ロジックに影響を与える可能性があります。 実稼動環境に結合する前に、カスタマイズされたコードをテストします。 バックエンドにデータを追加する代わりに、API メッシュを使用してカタログサービスのGraphQL スキーマを拡張します。 設定について詳しくは、 カタログサービスと API メッシュを参照してください。

製品フィードでのシステム属性データの拡張

製品フィードには、製品の処理に必要な、または消費者によって一般的に使用されるデフォルトのシステム属性が含まれています。 製品フィードに追加することで、製品フィードに追加のシステム属性を含めることができます。

このタスクを完了するには、magento/catalog-data-exporter モジュールを更新して、追加のシステム属性を 依存関係インジェクション設定ファイルdi.xml)に追加します。

製品属性クエリに属性 Magento\CatalogDataExporter\Model\Query\ProductAttributeQuery 追加します。

    <type name="Magento\CatalogDataExporter\Model\Query\ProductAttributeQuery">
        <arguments>
            <argument name="systemAttributes" xsi:type="array">
                <item name="news_from_date" xsi:type="string">news_from_date</item>
                ...
                <item name="some_system_attribute_code">some_system_attribute_code</item>
            </argument>
        </arguments>
    </type>

Adobe Commerceへの製品属性の追加

開発者は、次のいずれかの方法を使用して、 製品属性フィールドからアクセスできる製品属性を追加できます。

  • Adobe Commerce ストアフロントサービスに書き出した products フィードデータに含めるために、Commerceに属性を追加します。
  • プラグインを使用したフィード同期プロセス中に、属性を動的に追加します。

Adobe Commerceへの属性の追加

product 属性は、Commerce管理者から、またはカスタム PHP モジュールを使用してプログラムで追加し、属性を定義してAdobe Commerceを更新することができます。 Commerce管理者から属性を追加する方法は、属性と必要なすべてのメタデータを一度に追加できるので、最も簡単な方法です。 新しい属性とそのメタデータ プロパティは、次にスケジュールされた同期中に SaaS サービスに自動的にエクスポートされます。

管理者からの製品属性の作成

  1. Commerce管理者で、製品属性設定ページ(Stores/Attributes/Product)から属性を作成します。

  2. 必要に応じて、属性を属性セットに追加します。

2}Adobe Commerce管理ガイド製品属性の作成 を参照してください。

プログラムによる製品属性の作成

DataPatchInterface を実装するデータパッチを作成してプログラムで製品属性を追加し、コンストラクター内で EavSetup Factory クラスのコピーをインスタンス化して、属性オプションを設定します。

属性オプションを定義する場合、typelabelinput を除くすべての属性パラメーターはオプションです。 次の追加パラメーターや、デフォルト設定とは異なるその他のパラメーターを定義します。

  • user_defined=1 - データ同期中にストアフロント・サービスに属性をエクスポートします
  • used_in_product_listing=1 – 製品リスト・データベース・クエリー内で属性をアクセス可能にします。

データパッチの作成については、『 PHP 開発者ガイドデータおよびスキーマパッチの開発を参照してください。

製品属性の動的な追加

新しい EAV 属性を導入せずに製品属性を動的に作成する方法について詳しくは、 属性の動的な追加を参照してください。

recommendation-more-help
84c95778-e795-4ef1-8b7e-54d73e45e22d