Saya telah menambahkan beberapa bidang khusus ke bentuk grup pelanggan dengan menggunakan upgradeSchema.php
.
Setelah itu saya menemukan bahwa bidang asli seperti kode grup pelanggan dan id pajak disimpan dengan menggunakan metode penyetel di API yang disediakan. Ini benar-benar berbeda dari Magento 1.X yang hanya menggunakan setXXX () untuk menyimpan.
Jawaban:
Mekanisme atribut ekstensi harus digunakan dalam kasus ini. Ini memungkinkan perluasan API inti oleh modul pihak ke-3. Langkah umum untuk mengaktifkan atribut ekstensi baru:
var
dan menjalankan<project_root>/bin/magento setup:di:compile
, setter dan pengambil yang sesuai untuk atribut baru ini akan muncul di\Magento\Customer\Api\Data\GroupExtensionInterface
(antarmuka ini dihasilkan secara otomatis)\Magento\Customer\Api\GroupRepositoryInterface::save
,\Magento\Customer\Api\GroupRepositoryInterface::getById
(dan metode layanan lain yang diperlukan) untuk menyimpan / memuat atribut baru. Sebagai pengembang ekstensi, hanya Anda yang tahu di mana atribut ini harus disimpan, mungkin tabel apa saja. Lihat\Magento\Downloadable\Model\Plugin\AroundProductRepositorySave::aroundSave
sebagai contohjoin
simpul. Jika tidak maka lewati saja ini$customerGroup->getExtensionAttributes()->getMyAttribute()
manacustomerGroup
mengimplementasikan\Magento\Customer\Api\Data\GroupInterface
.setMyAttribute()
bisa digunakan jugaDi bawah ini adalah contoh konfigurasi yang harus dimasukkan
VendorName/ModuleName/etc/extension_attributes.xml
sumber
Jangan lupa bahwa modul membutuhkan
register.php
file di dalamnya, dan Anda harus menggunakannyabin/magento module:enable VendorName_ModuleName
sebelum itu akan muncul!sumber