#magento2
#magento2
Вопрос:
По сути, я хочу отправить «сохранить» в качестве параметра при сохранении формы. Для этого я настроил кнопку сохранения и добавил туда store_id, но теперь метод сохранения вызывается дважды. Есть идеи, почему это происходит и как я могу это исправить?
Это кнопка: (VendorModuleBlockAdminhtmlEntityEditSaveButton.php )
public function getButtonData()
{
return [
'label' => __('Save'),
'class' => 'save primary',
'data_attribute' => [
'mage-init' => [
'buttonAdapter' => [
'actions' => [
[
'targetName' => 'vendor_module_entity_form.vendor_module_entity_form',
'actionName' => 'save',
'params' => [
true,
['store' => 5]
]
]
]
]
]
],
'sort_order' => 90,
];
}
и это ui_component (vendor_entity_entity_form.xml ):
......
<settings>
<buttons>
<button class="VendorModuleBlockAdminhtmlEntityEditSaveButton" name="save"/>
</buttons>
</settings>
<dataSource name="entiity_form_data_source">
<settings>
<submitUrl path="*/*/save"/>
<validateUrl path="*/*/validate"/>
</settings>
</dataSource>
......
Ответ №1:
Пожалуйста, попробуйте:
public function getButtonData(): array
{
return [
'label' => __('Save'),
'class' => 'save primary',
'data_attribute' => [
'mage-init' => ['button' => ['event' => 'save']],
'form-role' => 'save',
],
'sort_order' => 10
];
}
Ответ №2:
пожалуйста, попробуйте приведенный ниже код.
$this->buttonList->add(
'select_all',
[
'label' => __('Select All Rates and Save'),
'class' => 'save',
'onclick' => "jQuery('#testhidden').val(1)",
'data_attribute' => [
'mage-init' => ['button' => ['event' => 'save', 'target' => '#edit_form']],
]
],
10
);
Создайте скрытое поле в form.php где определены поля
$fieldset->addField(
'testhidden',
'hidden',
['name' => 'testhidden', 'value' => 0, 'no_span' => true]
);