Saya ingin mengatur opsi default ke nilai opsi kustom di tingkat produk.
Bagaimana cara melakukannya di Magento 2?
Tolong bantu saya untuk menyelesaikan ini.
magento2
custom-options
adminform
default-values
rajat kara
sumber
sumber
Jawaban:
Saya tidak yakin Anda bisa melakukan ini melalui admin. Saya hanya melakukan pekerjaan di mana saya memastikan semua "opsi default" saya adalah opsi pertama dalam admin kemudian menambahkan di bawah ini ke js untuk toko saya.
Ini berfungsi untuk opsi khusus karena semuanya diberikan pada pemuatan halaman. Kode hanya loop melalui semua opsi khusus dan menetapkan opsi 2 sebagai yang pertama adalah "silakan pilih".
Namun saya mengalami sedikit kesulitan dengan produk-produk yang dapat dikonfigurasi karena semua opsi dimuat setelah memuat halaman tetapi untuk melakukannya Anda juga dapat melihat pertanyaan saya di sini: Magento 2: Bagaimana cara mengatur opsi default dalam opsi yang dapat dikonfigurasi?
sumber
Saya pikir apa yang ingin Anda capai adalah sesuatu seperti ini?
Saya menerapkannya untuk bidang dropdown, harus sama dengan radiobuttons.
catalog_product_option_type_value
.Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\CustomOptions
.Contoh:
Dan terakhir Anda perlu menimpa file
Magento\Catalog\Block\Product\View\Options\Type\Select.php
dengan sesuatu seperti iniSemoga itu bisa membantu!
sumber
$defaultAttribute
sebagai atribut tambahan untuk opsi akan bertentangan dengan nilai yang telah dikonfigurasikan sebelumnya (buy_request, ...). Misalnya, saat mengedit item keranjang, nilai yang dipilih oleh pelanggan dan nilai "is_default" keduanya akan ditandai sepertiselected="selected"
dalam kode.@TrytoFly Terima kasih atas solusi Anda. Saya telah mencoba dengan kode Anda dan saya dapat menampilkan opsi "Default" tetapi nilai-nilai khusus tidak ditampilkan. Tolong bantu saya untuk memperbaiki masalah ini. Tolong cari gambarnya
sumber
$result = $meta;
di awal Metode afterModifyMeta () Anda. Atau Anda hanya akan menimpa nilai kembali Anda alih-alih menambahkan opsi default untuk itu.@TrytoFly Inilah yang bekerja untuk saya.
sumber
Anda dapat mengganti file Select.php seperti fungsi kode folowing:
sumber
Inilah cara terbersih yang saya temukan untuk menetapkan nilai default untuk opsi yang dapat disesuaikan :
(Berdasarkan jawaban @TrytoFly)
Catatan : Saya akan menganggap Anda bekerja pada modul yang sudah dibuat yang akan saya panggil
Vendor_Module
.1. Tambahkan
is_default
kolom kecatalog_product_option_type_value
tabelCatatan : Jangan lupa untuk mengubah versi dibandingkan dengan modul Anda
2. Tentukan dan buat plugin untuk menambahkan elemen kotak centang di back office
Catatan : Di sini kita menggunakan
Magento\Ui\Component\Form\Element\Checkbox
bukanMagento\Ui\Component\Form\Element\Radio
komponen karena sepertinya Magento tidak pernah mendefinisikannya dalam Elemen Bentuknya.Lihat
vendor\magento\module-ui\view\base\ui_component\etc\definition.xml
baris 112+3. Timpa
Magento\Catalog\Block\Product\View\Options\Type\Select
untuk memeriksa elemen yang telah dipilih sebagai "Elemen default".4. Tingkatkan versi modul Anda dan perbarui database
Meng-upgrade
setup_version
diapp/code/Vendor/Module/etc/module.xml
Update
version
diapp/code/Vendor/Module/composer.json
Jalankan perintah berikut:
sumber