我有谁拥有塞一个博客实体,我想这塞被保存在这样的形式标记内自定义数据属性:<form data-article-slug="my-slug">
。是否可以将PRE_SET_DATA事件中的自定义数据属性设置为表单标记本身?
这是我所期望实现的:
class BlogTypeSubscriber implements EventSubscriberInterface
{
public function onPreSetData(FormEvent $event)
{
$data = $event->getData();
$form = $event->getForm();
$slug = $data->getSlug();
if (!empty($slug)) /* the bellow method does not exist */
$form->setAttr([ 'data-article-slug' => $slug ]);
}
public static function getSubscribedEvents()
{
return [ FormEvents::PRE_SET_DATA => 'onPreSetData' ];
}
}
这是可以做到的树枝模板,如内几乎同样的事情:{{ form_start(form, { 'attr': { 'data-article-slug' : form.vars.value.slug } }) }}
但我觉得这种方式非常redundent而不是Symfony的友好,我怎么能做到这一点?
你有表单类型?请展示它 –