magento < optgroup>在管理表单字段中

vjrehmav  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(176)

我有一个admin表单,在我的_prepareForm方法中声明了几个选择字段,如下例所示:

protected function _prepareForm()
{
    $form = new Varien_Data_Form(array(
        'id' => 'datacenter_action_form',
        'action' => $this->getUrl('*/*/saveConfig'),
        'method' => 'post',
        'enctype' => 'multipart/form-data'
    ));
    $fieldset = $form->addFieldset('base_fieldset', array('legend' => 'Example');
    $fieldset->addField('entity', 'select', array(
        'name' => 'action[entity]',
        'title' => 'Entity',
        'label' => 'Entity',
        'required' => true,
        'values' => array('one','two')
    ));

    ...

    return parent::_prepareForm();
}

我想知道是否可以像source models中一样,通过嵌套值将optgroups添加到字段值中,如下所示:

...
$fieldset->addField('entity', 'select', array(
        'name' => 'action[entity]',
        'title' => 'Entity',
        'label' => 'Entity',
        'required' => true,
        'values' => array('value' => array('one','two'), 'label' => 'Numbers')
    ));
...

预期输出为:

<select>
    <optgroup label="Numbers">
        <option>one</option>
        <option>two</option>
    </optgroup>
</select>

观察结果:我已经尝试了与源模型相同的建模方式(通过嵌套值),但似乎不起作用

tp5buhyn

tp5buhyn1#

通过嵌套如下选项可以实现:

...
$fieldset->addField('entity', 'select', array(
        'name' => 'action[entity]',
        'title' => 'Entity',
        'label' => 'Entity',
        'required' => true,
        'values' => array(
                    array('value' => array(
                        array('value' => 'one', 'label' => 'One'),
                        array('value' => 'two', 'label' => 'Two')
                    ), 'label' => 'Numbers'))
         ));
...

我把它嵌套错了:)

相关问题