web-dev-qa-db-ja.com

アドレスモジュールから顧客プロファイルを読み込む方法(コマース)

モジュールCommerceでDrupal 8を使用していますが、顧客の住所に問題があります。

D8でエクスポートカスタムモジュールを開発していますが、顧客のプロファイル(請求先および配送先住所にアクセスするため)をロードしようとして立ち往生しています。

カスタムモジュールからこのデータにアクセスできません。そして、アドレスプラグインに関するドキュメントはありません( https://www.drupal.org/project/address

注文とユーザーデータを読み込もうとしましたが、これを達成するのに役立つ関連フィールドがありません。

誰かが私にヒントを与えることはできますか?

前もって感謝します。

1
cadev

順序でプロファイルを取得して、以下のコードを試すことができます。

$order_id =1;
$entityManager = \Drupal::entityTypeManager();
$order = $entityManager->getStorage('commerce_order')->load($order_id);

フィールドbilling_profileで住所を取得

$address = $order->billing_profile->entity->address->getValue();
1
vinhdv

顧客プロファイルはコンテンツエンティティであるため、entityTypeManager()関数を使用して顧客プロファイル情報にアクセスできます。

$entity_manager = \Drupal::entityTypeManager();
$profile = $entity_manager->getStorage('profile')->load($profile_id);
0
Aaron