gpt4 book ai didi

php - Symfony2/Twig - 如何将模板文件内容设置为变量?

转载 作者:搜寻专家 更新时间:2023-10-31 21:26:05 26 4
gpt4 key购买 nike

在 Symfony 2.8 中,我有 SharedBundle,我在其中保存 View 和我在其他 bundle 之间共享的其他内容,包括应由其他 bundle 的 View 扩展的整个布局。
该共享布局有一些典型的 block ,sidebar block 对于不同的包应该不同。

目前我做了一个丑陋的解决方法:

SharedBundle 侧边栏容器中:

{% if sidebarcontent is defined %}
{{ sidebarcontent|raw }}
{% else %}
SIDEBAR NOT FOUND
{% endif %}

在扩展共享主视图的每个 View 中的其他包(此处:BundleA)中:

{% extends 'SharedBundle:layout.html.twig' %}
{% block sidebar %}
{% include 'BundleA:_partials:sidebar.html.twig' %}
{% endblock %}
{% set sidebarcontent = block('sidebar') %}

但我认为这看起来不太好。有没有更好的办法?

最佳答案

我认为这是一种有效的方法。我能想到的唯一简化是不使用变量 sidebarcontent

您可以在 if 语句中使用 block('sidebar'):

{% if block('sidebar')|length > 0 %}
{{ sidebarcontent|raw }}
{% else %}
SIDEBAR NOT FOUND
{% endif %}

在检查它的内容之前确保该 block 存在,所以用一个空字符串初始化它:

{% block sidebar %}{% endblock %}

关于php - Symfony2/Twig - 如何将模板文件内容设置为变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com