0
  1. 如何在 TWIG 中实现(或在支持时使用)一种后期绑定。

  2. 如何通过同一实例在几个渲染之间传输变量

这是详细描述的接近情况:

让我们想象一下我有全局布局模板,并且我有一种小部件,它们在模板中间的某个位置被调用(可能很多次 - 比如说用户列表中的头像绘图小部件)。

假设这些小部件的功能需要在布局中实现一些 javascript 代码:

<header>   
 <script type="text/javascript" src="widget_avatar.js">  
</header>

所以,在树枝模板语言中,我想像这样实现:

布局.twig

<header>
    {% for script_name in scripts %}
        <script type="text/javascript" src="{{ script_name }}"></script>
    {% endfor %}
</header>
<body>
    {{ Widget('Draw_Avatar') }}

    variable below set in the widget coz both widget and layout 
    uses the same TWIG instance:

    {{ after_execution }}

</body>


draw_avatar.twig

Im widget template returning some rendered html
for my functionality i need some javascript inserted
into the "layout.twig" header
adding required javascript to the array of javascripts
{% set scripts = scripts | merge({'widget_avatar':'widget_avatar.js'}) %}

{% set after_execution = 'HELLO' %}

因此,可以调用许多小部件,其中一些可能会将所需的 javascript 添加到应插入布局标题中的 JavaScript 数组中。

树枝继承在这里不起作用,因为小部件应该是独立的并且可以在不同的模板中轻松重用。

但是所有模板、小部件和布局都使用相同的树枝实例。

我需要在布局标题类型的后期绑定中使用数组脚本。

  1. 所以在模板渲染过程的最后需要渲染一些代码块,我怎么能“说” TWIG 关于这个?

  2. 渲染小部件后,如何将变量从小部件传输到布局模板?

4

0 回答 0