You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Twig中将渲染后的HTML内容赋值给变量

Twig捕获渲染内容到变量的实现方法

使用Twig内置的{% capture %}标签即可高效实现需求,这是Twig原生支持的特性,性能开销极低,同时能保证代码的可读性。

具体实现代码如下:

{% capture output %}
{% for delivery in order.deliveries %} 
{% for trackingCode in delivery.getTrackingCodes() %}
    <a href="{{ delivery.shippingMethod.trackingUrl|replace({"%s":trackingCode}|raw) }}">{{ trackingCode }}</a><br/>
{% endfor %}
{% endfor %}
{% endcapture %}

使用说明:

  • {% capture 变量名 %}和{% endcapture %}标签包裹的所有代码会先完成完整渲染,最终渲染结果会直接赋值给你指定的变量(示例中为output)
  • 后续需要输出内容时直接调用{{ output }}即可,符合你预期的调用方式
  • 如果需要输出的内容包含不可信的用户输入,可根据场景配合|raw过滤器使用:{{ output|raw }}

针对简单短内容的备选方案:
如果只是非常短的字符串拼接场景,也可以直接用~运算符拼接赋值:

{% set output = '<a href="' ~ linkUrl ~ '">' ~ linkText ~ '</a>' %}

涉及循环、多层逻辑的复杂HTML块,优先使用capture方案,可维护性更高。

内容的提问来源于stack exchange,提问作者megloff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:57:03