Saya telah membuat formulir ui_component .
Di mana saya perlu menampilkan detail pelanggan, Sama seperti Edit Pelanggan .
Tapi, saya bisa menampilkan data mereka dari customer_entity
tabel.
DataProvider.php
public function getData()
{
if (isset($this->loadedData)) {
return $this->loadedData;
}
// {Vendor}\{Module}\Model\GridFactory
// Returns Customer Resource Model
$items = $this->gridFactory->create()->getCollection();
$items->getSelect()->join('customer_entity_text as second', 'main_table.entity_id = second.entity_id');
//print_r($items->getData()); exit;
foreach($items as $contact){
$this->loadedData[$contact->getEntityId()]['contact'] = $contact->getData();
}
return $this->loadedData;
}
Saya sudah bergabung
customer_entity_text
dengan Pabrik saya untuk menampilkanstatus
(Atribut Pelanggan).Atribut My Second adalah
file
tipe. Ada dicustomer_entity_varchar
, Pertama saya berpikir untuk menambahkan gabung lain tapi saya pikir itu bukan cara yang baik.
Jadi, apakah ada solusi untuk ini? Saya perlu menampilkan keduanya Customer Attribute
di formulir saya.
komponen ui_component
<field name="value">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string">Status</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="dataType" xsi:type="string">text</item>
<item name="formElement" xsi:type="string">input</item>
<item name="source" xsi:type="string">contact</item>
</item>
</argument>
</field>
1). Komponen di atas berfungsi baik untuk Status tetapi tidak untuk Gambar Profil yang merupakan tipe Gambar.
<field name="value">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string">Profile Image</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="formElement" xsi:type="string">fileUploader</item>
<item name="uploaderConfig" xsi:type="array">
<item name="url" xsi:type="url" path="path_controller"/>
</item>
</item>
</argument>
</field>
Bahkan jika saya menghapus satu bidang dengan nama yang sama form element
sepertinya tidak berfungsi.
Lihatlah field
nama yang value
untuk Status .
Jika saya menggunakan hal yang sama untuk gambar lapangan dari komponen gambar menghilang.
Catatan : Saya tidak tahu mengapa Magento tidak mengizinkan untuk menggunakan nama value
.
Karena saya sudah bergabung dalam koleksi jadi saya mendapatkan
value
sebagai kunci array.
** Pertanyaan: Bagaimana saya bisa mendapatkan atribut pelanggan dalam formulir ini tanpa bergabung dalam koleksi?
Juga jika Anda memiliki solusi lain selain sebagian besar juga paling disambut. **
Jawaban:
Anda perlu membuat tabel khusus Anda dengan hubungan tabel customer_entity menggunakan skrip penyiapan sebagai berikut:
Maka Anda perlu memuat model pelanggan dan bergabung dengan tabel kustom Anda di fungsi getData () dari DataProvider.php sebagai berikut:
Sekarang Anda dapat menggunakan nama bidang di ui_component sebagai berikut:
Semoga solusi ini dapat menyelesaikan masalah Anda.
sumber