twig html被转义,Twig:多次渲染块:解析,转义,逐字

我正在构建一个模式库,显示我的生产枝条部分和一些附加信息。在每个模式下,我希望有两个代码片段,我想从我的模式生成。一个是解析的HTML,另一个是我的Twig代码,直接来自部分文件,包括变量和其他Twig代码。

问题

如何重复使用我已在页面上解析和呈现的块,但是以未解析的形式?

文件:

moduleXYZ.html(生产模块代码),扩展......

_pattern.html(带有模式库附加信息代码的包装器),它使用...

_pattern_foot.html(此处,_pattern.html中定义并在moduleXYZ.html中覆盖的块应逐字显示)

moduleXYZ.html:

{% extends '_pattern.html' %}

{% block pattern %}

{{ variable|default('Some placeholder text') }}

{% endblock %}

_pattern.html:

{% block pattern %}

No pattern defined.

{% endblock %}

{% use '_pattern-foot.html' %}

{% block('patternfoot') %}

_pattern-foot.html:

{% block patternfoot %}

HTML for this pattern:

{{ block('pattern')|e }} {# THIS WORKS, escaped HTML is displayed. #}

Twig for this pattern:

{{ block('pattern')|e }} {# THIS IS NOT WORKING, of course, because the block is already parsed. #}

{% endblock %}

什么不起作用

我设法通过包装"模式"得到了我想要的结果。 moduleXYZ.html中的{% verbatim %}中阻止,但当然我的逻辑/变量也会在模块本身中解析。

我知道将变量传递到block()函数是不可能的,所以我也不能有条理地为我重复使用的块切换(或者我可以吗?)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值