【发布时间】:2019-06-10 10:48:38
【问题描述】:
我正在尝试在实体的列表视图中添加字段类型 url,这是文档中的链接 -> https://symfony.com/doc/master/bundles/SonataAdminBundle/reference/field_types.html#url。
这是我的代码,我只是复制了文档:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('name')
->add('url', 'url', [
'url' => 'http://example.com'
]);
}
这似乎有效,但“Url”列始终为空。
我找到了负责渲染该字段的奏鸣曲模板 -> @SonataAdmin/CRUD/list_url.html.twig 。 这是代码
{% extends get_admin_template('base_list_field', admin.code) %}
{% block field %}
{% spaceless %}
{% if value is empty %}
{% else %}
{% if field_description.options.url is defined %}
...
问题是value总是空的,不知道这个变量是什么;并且文档没有讨论任何名为 value 的字段。
【问题讨论】:
-
是的,它不起作用,我检查了一些 github 讨论。你可以做什么。创建您自己的自定义字段或将此 url 映射到对象(将其保存在 db 中)。
-
您能否向我们展示一下您实体中的 url 字段。另一方面,您编写了 ->add('url', ... 而不是 ->addIdentifier('url', ...
-
@M.Galardi url 字段不在我的实体中,我想在列表中添加一个外部 url。我必须使用 ->add 而不是 ->addIdentifier,就像文档“不要使用带有 addIdentifier() 方法的 url 类型,因为它会创建无效的嵌套 URL。”中解释的那样。
-
@revengeance 你有讨论的链接吗?也许它们对于在 Stackoverflow 上参考这个问题也很有用。
标签: php symfony sonata-admin symfony-3.4 symfony-sonata