【发布时间】:2014-12-11 20:09:17
【问题描述】:
我有一个自定义表单类型,它定义了一些默认的attr 选项:
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'invalid_message' => 'The selected image does not exist',
'attr'=>array(
'data-image-picker'=>'true',
'data-label'=>'Pick Image'
),
));
}
但是,当我使用此自定义表单类型时,整个 attr 数组将替换为定义的内容。
$builder->add('logo','image_picker',array(
'attr'=>array(
'data-label'=>'Logo'
),
));
当表单被渲染时,它只有<input data-label="Logo" ...>
我如何获得它以便这些选项将被合并而不是完全覆盖?
【问题讨论】:
-
这是预期行为,因为您覆盖了
attr选项的默认值,而不是其中的元素。
标签: php symfony symfony-forms symfony-2.6