SonataAdmin - 每个表单的自定义表单模板
Posted
技术标签:
【中文标题】SonataAdmin - 每个表单的自定义表单模板【英文标题】:SonataAdmin - Custom form template for each form 【发布时间】:2015-03-11 13:58:10 【问题描述】:我在使用 Sonata Admin Bundle 时遇到问题。我想做的是:
在我的表单中的一些标签之前添加一些文本。比如:
图片的分辨率必须是 ..x.. .
例如我有一个这样的表格:
protected function configureFormFields(FormMapper $formMapper)
$formMapper
->add('locale', 'choice', array(
'choices' => array('nl' => 'NL', 'en' => 'EN'),
'required' => true,
))
->add('pageid.tag', 'text', array('label' => 'Tag'))
->add('description', 'text', array('label' => 'Beschrijving'))
->add('content', 'textarea', array('label' => 'Tekst', 'attr' => array('class' => 'ckeditor')))
->add('files', 'file', array('required' => false, 'multiple' => true))
;
现在我想在我的文件输入字段之前添加一些文本。
我现在做的是:
将此添加到我的 config.yml(重载模板/表单配置选项):
sonata_doctrine_orm_admin:
# default value is null, so doctrine uses the value defined in the configuration
entity_manager: ~
templates:
form:
- MurisBundle:PageAdmin:form_admin_fields.html.twig
但是每个表单都会用到这个,我不能为特定的表单设置特定的表单模板吗?
【问题讨论】:
【参考方案1】:您可以在您的管理类中指定表单模板覆盖 getFormTheme 方法。 将此代码添加到您的管理类。
public function getFormTheme()
return array_merge(
parent::getFormTheme(),
array('MurisBundle:PageAdmin:form_admin_fields.html.twig')
);
【讨论】:
【参考方案2】:getPictureUrlFull().'" style="margin-top:10px;" />使用“帮助”
protected function configureFormFields(FormMapper $formMapper)
$formMapper
->add('locale', 'choice', array(
'choices' => array('nl' => 'NL', 'en' => 'EN'),
'required' => true,
'help' => '<img src="'.$entity->getPictureUrlFull().'" />'
))
)
【讨论】:
我认为帮助文本实际上是在字段之后呈现的,而不是之前以上是关于SonataAdmin - 每个表单的自定义表单模板的主要内容,如果未能解决你的问题,请参考以下文章