Я хочу установить для параметра по умолчанию значение пользовательских параметров на уровне продукта.
Пожалуйста, помогите мне решить это.
magento2
custom-options
adminform
default-values
раджат кара
источник
источник
Ответы:
Я не уверен, что вы можете сделать это через администратора. Я только что поработал, где я убедился, что все мои «параметры по умолчанию» - это первая опция в admin, а затем добавил ниже в js для моего магазина.
Это работает для пользовательских опций, так как все они отображаются при загрузке страницы. Код просто перебирает все пользовательские параметры и устанавливает второй вариант, так как первым было «пожалуйста, выберите».
Однако у меня было немного больше трудностей с настраиваемыми продуктами, так как все параметры загружались после загрузки страницы, но для этого вы также можете увидеть мой вопрос здесь: Magento 2: Как установить параметр по умолчанию в настраиваемых параметрах?
источник
Я думаю, что вы хотите достичь, это что-то вроде этого?
Я реализовал это для выпадающих полей, должно быть то же самое с радиокнопками.
catalog_product_option_type_value
.Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\CustomOptions
.Пример:
И, наконец, вам нужно перезаписать файл
Magento\Catalog\Block\Product\View\Options\Type\Select.php
чем-то вроде этогоНадеюсь, это поможет!
источник
$defaultAttribute
качестве дополнительных атрибутов для опции будет конфликтовать с предварительно настроенными значениями (buy_request, ...). Например, при редактировании элемента корзины значение, выбранное покупателем, и значение «is_default» будут помечены какselected="selected"
в коде.@TrytoFly Спасибо за ваше решение. Я пытался с вашим кодом, и я могу отобразить параметр «По умолчанию», но пользовательские значения не отображаются. Пожалуйста, помогите мне исправить проблему. Пожалуйста, найдите изображения
источник
$result = $meta;
в начале вашего метода afterModifyMeta (). Или же вы просто перезапишете свое возвращаемое значение вместо добавления опции по умолчанию.@TrytoFly Это то, что работает для меня.
источник
Вы можете переопределить файл Select.php следующим образом:
источник
Вот самый простой способ установить значение по умолчанию для настраиваемых параметров :
(На основе ответа @TrytoFly)
Примечание : я предполагаю, что вы работаете над уже созданным модулем, который я назову
Vendor_Module
.1. Добавить
is_default
столбец вcatalog_product_option_type_value
таблицуПримечание : не забудьте изменить версию по сравнению с вашим модулем
2. Определите и создайте плагин для добавления элемента флажка в бэк-офисе
Примечание : здесь мы используем
Magento\Ui\Component\Form\Element\Checkbox
вместоMagento\Ui\Component\Form\Element\Radio
компонента, как кажется, Magento никогда не определяет его в своих элементах формы.Смотри
vendor\magento\module-ui\view\base\ui_component\etc\definition.xml
линию 112+3. Перезаписать,
Magento\Catalog\Block\Product\View\Options\Type\Select
чтобы проверить элемент, который был выбран как «Элемент по умолчанию».4. Обновите версию своего модуля и обновите базу данных.
Обновите свой
setup_version
вapp/code/Vendor/Module/etc/module.xml
Обновите свой
version
вapp/code/Vendor/Module/composer.json
Запустите следующие команды:
источник