我正在寻找从控制器传递给我的模板的变量中的标记,并使用另一个模板的include;概念上喜欢的东西:
// controller
$post->content = "<p>Here's a short post that an enduser wrote. The enduser wants
product info to appear here: %product_info_here%. Over and out.</p>";
// Twig template
<div class="content">
{{ post.content
| replace({ '%product_info_here%': include('product_info.html.twig') }) }}
</div>
从开始查看Twig代码,看起来过滤器无法访问其上下文,因此无法执行此操作。这个功能是否已经存在,如果没有,那么在树枝架构中添加它的位置是正确的吗?
更新
这是为了使最终用户能够确定应用应该注入部分的位置。我把这个例子放在控制器中是为了简洁;实际上,文字标记将是最终用户输入的数据库中的Post记录的一部分,并且帖子内容将被传递给Twig模板。我希望Twig模板解析令牌的帖子内容,并注入部分内容。
答案 0 :(得分:0)
您能否解释一下为什么要将模板放入控制器?我认为以下内容也会起作用:
// Twig template
<div class="content">
<p>Here's a short post. Product info: {% include('product_info.html.twig') %}</p>
</div>