是否可以从树枝延伸覆盖模板块?我该怎么做?
修改:
我的主布局模板中有一个块,它被称为 {%block emailMenu%} ,问题是,是否可以覆盖此块,而不是来自另一个模板,而是来自内部枝条定制功能?
我想我很困惑是处理我的情况的最好方法,我的电子邮件菜单会根据几个因素在页面之间发生变化,我想要从布局或其他模板中调用一个twig函数,我之所以这样思考,是为了让我的其他模板不受大量逻辑的影响,我宁愿使用纯PHP。任何想法将不胜感激。
答案 0 :(得分:0)
您可以渲染渲染自己的模板(可能取决于页面)的其他控制器(不是枝条扩展),这会覆盖基本模板块。
我认为,覆盖树枝延伸的阻挡 - 它不是用于树枝的。
答案 1 :(得分:-2)
您必须创建基本模板:
{# src/BW/MainBundle/Resources/views/Main/base.html.twig #}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{% block title %}Test Application{% endblock %}</title>
</head>
<body>
<div id="sidebar">
{% block sidebar %}
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog">Blog</a></li>
</ul>
{% endblock %}
</div>
<div id="content">
{% block body %}{% endblock %}
</div>
</body>
</html>
然后使用extends
关键字扩展父模板:
{# src/Acme/BlogBundle/Resources/views/Blog/index.html.twig #}
{% extends 'BWMainBundle:Main:base.html.twig' %}
{% block title %}My cool blog posts{% endblock %}
{% block body %}
{% for entry in blog_entries %}
<h2>{{ entry.title }}</h2>
<p>{{ entry.body }}</p>
{% endfor %}
{% endblock %}
另请阅读使用Symfony
在Twig
中模板化的this个文档。