【问题标题】:Symfony 4 EasyAdmin - Property does not render when overriding bundle templateSymfony 4 EasyAdmin - 覆盖捆绑包模板时属性不​​呈现
【发布时间】:2019-01-11 12:20:56
【问题描述】:

将 Symfony 4.1 与 EasyAdmin 捆绑包一起使用。

我正在尝试覆盖用户(我的一个实体)显示视图的模板。我已经设置了覆盖并且它正在工作。

  1. 创建了一个 user_show.html.twig 并在 easy_admin 配置文件中注册。

  2. 然后我从 show.html.twig 的相应捆绑模板中复制树枝块。

  3. 然后尝试从我的用户实体呈现一个用户属性,称为配置文件高度。

这是我要覆盖的树枝块:

{# templates/admin/user_show.html.twig #}
{% extends '@EasyAdmin/default/show.html.twig' %}

{% block content_title %}
    Test Title {{ dump() }}
{% endblock %}

{% block main %}
    {{ profileHeight }}
{% endblock %}

错误

Twig_Error_Runtime: Variable "profileHeight" does not exist

调试

我做了转储,发现页面上存在该属性:

为什么 twig 看不到这些变量出现在转储中?如何在模板中呈现我想要的属性?

【问题讨论】:

  • 应该是entity.profileHeight
  • 是的,我试过 {{ user.profileHeight }} 并且对变量“user”的错误更新不存在。
  • @TimothyAURA 因为字面意思应该是entity.profileHeight
  • 好的。如果我有两个具有属性名称的实体怎么办。我会使用实体、名称和 entity.related_entity.name。还有人回答问题,所以我可以标记正确。

标签: php symfony symfony4 symfony2-easyadmin


【解决方案1】:

正如您在转储数据中所见,entity 数组键包含 User 对象。所以而不是:

{% block main %}
  {{ profileHeight }}
{% endblock %}

用途:

{% block main %}
  {{ entity.profileHeight }}
{% endblock %}

【讨论】:

    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 2018-05-04
    相关资源
    最近更新 更多