![](/img/trans.png)
[英]The show action of Symfony 2 Sonata Admin Bundle is not working
[英]Unable to set custom data in show action field in symfony sonata admin
我有一个显示页面,我想添加一个自定义值。
我尝试做我在其他操作中所做的事情,即使用 data 键将数组添加到第三个参数,如下所示:
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('name')
->add('dateEnd')
->add('example', null,
array('data' => 'example value')
)
;
}
在 configureListFields 操作中,这是有效的。 我已经使用 data 属性注入了自定义值。
但是我仍然无法访问show.html.twig
文件中的关键示例。 它给了我这个错误
变量“示例”不存在。
我应该怎么做才能访问树枝文件中的这个自定义变量?
尝试
{{ elements.elements.example.options.data }}
在你的树枝模板中
我使用了这个解决方案。 在 Admin 类的configureShowFields()
方法中:
$showMapper
->with('Tab Name')
->add(
'any_name',
null,
[
'template' => 'Admin/Custom/any_name_show_template.html.twig',
'customData' => $this->someRepository->getSomeEntityBy($field),
'anotherCustomData' => $this->someService->getSomeDataBy($value),
]
)
;
在自定义模板中,您可以通过field_description.options.<customFieldName>
访问自定义数据,因此对于提供的示例数据访问器将是{{ field_description.options.customData }}
和{{ field_description.options.anotherCustomData }}
对于 Twig 模板中较短的字段名称,您可以这样做:
{% set customData = field_description.options.customData %}
并访问自定义数据,如{{ customData }}
希望这会有所帮助并节省时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.