如何在magento2管理表单中添加动态字段

时间:2016-08-11 17:51:15

标签: javascript admin magento2

我想在magento2中实现动态表单字段

用户可根据需要添加尽可能多的图片,就像添加更多选项一样,

我通过在编辑时添加10个新图像来实现此功能,但用户无法在路上添加更多图像

表格之后我写了这个

$newfieldset = $form->addFieldset('new_fieldset', ['legend' => __('New Images #')]);
    foreach (range(0, 10) as $newid) {      
    $newfieldset->addField(
        "newimages_$newid",
        'image',
        ['name' => 'galleryimages[]', 'label' => __('New Image #'.$newid), 'title' => __('New Image #'.$newid), 'required' => false ,  'disabled' => $isElementDisabled]
    );
}
$this->setForm($form);
return parent::_prepareForm();

让我知道这是否可以更加动态,就像单击按钮添加图像在表单中添加新字段

1 个答案:

答案 0 :(得分:0)

你必须创建一个js函数来生成你需要的文件,我想你可以使用这个函数在表单中添加一个脚本块:

$this->setChild('form_after',$this->getLayout()->createBlock('Magento\Framework\View\Element\Template')->setTemplate('Vendor_Company::folder/js.phtml'));

您可以创建一个脚本来通过javascript添加动态字段

<script>
    require([
    "jquery",
    "mage/adminhtml/form", // in case you need some of the magento functions
    'domReady!',
], function ($) {
     //YOUR CODE HERE ...
});

我希望这个解决方案能够解决问题,我不知道这是否正确,但这是有效的