可以从树枝扩展重写模板块吗?我该怎么做呢?
编辑:
我的主布局模板中有一个块,它被称为{%块emailMenu %},问题是,是否可以重写这个块,不是从另一个模板,而是从一个小枝自定义函数中?
我想我混淆了处理我的情况的最佳方法,我的电子邮件菜单会根据几个因素在不同的页面之间变化,我想要从布局或者从另一个模板调用一个小枝函数,我之所以这样想是为了让我的其他模板不受很多逻辑逻辑的影响,而我更愿意使用纯PHP。任何想法都将不胜感激。
发布于 2014-01-28 05:26:10
您可以只呈现其他控制器(而不是树枝扩展),它呈现自己的模板(可能依赖于页面),它覆盖基本模板块。
我认为,重写小树枝扩展块--这不是树枝的目的。
发布于 2014-01-26 08:06:41
您必须创建一个基本模板:
{# 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文档。
https://stackoverflow.com/questions/21357630
复制相似问题