Bagaimana saya bisa mengirim id dari formulir saya ke kisi Daftar insert?
Apa yang ingin saya lakukan, adalah dalam bentuk saya memuat kotak dengan memasukkan Listing.
Dalam kisi ini saya ingin semua hasil dengan id formulir.
<insertListing name="insertlisting_colors_one">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="autoRender" xsi:type="boolean">true</item>
<item name="imports" xsi:type="array">
<item name="spd_id" xsi:type="string">${ $.provider }:data.spd_id</item>
</item>
<item name="ns" xsi:type="string">colors_one_grid</item>
</item>
</argument>
</insertListing>
Di bawah ini adalah kode di kotak
<item name="filter_url_params" xsi:type="array">
<item name="color_amount" xsi:type="string">1</item>
<item name="spd_id" xsi:type="string">${ $.parentName }.spd_id</item>
</item>
magento2
uicomponent
Johan
sumber
sumber
Jawaban:
Untuk menambahkan cantuman sisipan oleh param komponen induk ui, kita dapat menggunakan kode di bawah ini.
Di sini
externalProvider
tag adalah untuk menambahkan penyedia sumber cantuman yang kami sisipkan.Di sini
imports
tag digunakan untuk impor param sumber data formulir saat iniDi sini
exports
tag digunakan untuk mengekspor params data formulir saat ini ke cantuman yang akan disisipkan.Tambahkan bergabung dengan kolom yang relevan ke koleksi saat ini untuk membuatnya digunakan dalam menyaring penyedia data dari daftar yang dimasukkan.
Di penyedia data tambahkan filter untuk param ini:
sumber
Anda perlu menetapkan nilai untuk parameter render_url pada insertListing dan kemudian perbarui URL ini di dalam Penyedia Data Anda. Anda perlu melakukan tindakan ini dua kali karena Anda perlu memiliki satu Penyedia Data untuk komponen formulir Anda dan yang lainnya khusus untuk komponen daftar.
1 - Deklarasi yang benar dari komponen insertListing: (Vendor / Modul / view / adminhtml / ui_component / vendor_module_form.xml)
2 - Tambahkan perubahan berikut ke Penyedia Data halaman Formulir. Ini akan mengubah render_url dengan menambahkan parameter "id" ke akhir URL:
(Vendor / Module / Ui / DataProvider / [path-to-your-data-provider.php] )
Catatan: jangan salin / tempel seluruh blok di bawah ini pada Penyedia Data Anda. Sebagai gantinya, pilih potongan yang hilang dari kode Anda
3 - Perbarui komponen daftar Anda. Itu harus memiliki parameter updateUrl di dalam komponen DataSource:
(Vendor / Modul / view / adminhtml / ui_component / vendor_module_listing.xml)
4 - Perbarui Penyedia Data Daftar Anda untuk mengubah pembaruanUrl pada komponen daftar di atas
(Vendor / Module / Ui / DataProvider / [path-to-your-LISTING-data-provider.php] )
Catatan: jangan salin / tempel seluruh blok di bawah ini pada Penyedia Data Anda. Sebagai gantinya, pilih potongan yang hilang dari kode Anda
Beri tahu saya jika Anda masih memiliki masalah. Saya mungkin tidak dapat menjawab komentar tetapi saya dapat memperbarui jawaban saya.
sumber