Twig:用 include 替换字符串中的占位符
Twig: Replace placeholder in string with include
我的问题与这个类似:Twig: replace arbitrary token in variable with template include。
我希望自从被问到后情况有所改变。
我正在与 twig.js 合作。
我有一台服务器,其任务是监听请求、接收数据、使用这些数据编译一个 twig 文件并发回 html。
它接收的数据是一个包含 文本、颜色、 等的对象...作为上下文传递给 twig 文件。
在数据中,用户可以发送 {foo}
等占位符,我想将这些占位符替换为 {% include 'partial.twig' %}
。
我的第一次尝试是使用过滤器 |replace
但它没有得到处理:
{% set foo = foo|replace({'{foo}': '{% include "partial.twig" %}'}) %}
是否有可能扩展 twig.js 以实现类似的功能?
分两步完成,先把partial抓到一个变量里,然后用变量代替placeholder,例如
{%- set bar -%}
{% include "partial.twig" %}
{%- endset -%}
{% set foo = 'this is {foo}' %}
{% set foo = foo|replace({'{foo}': bar }) %}
{{ foo }}
注意: {%- ... -%}
用于去除空格
我的问题与这个类似:Twig: replace arbitrary token in variable with template include。
我希望自从被问到后情况有所改变。
我正在与 twig.js 合作。
我有一台服务器,其任务是监听请求、接收数据、使用这些数据编译一个 twig 文件并发回 html。
它接收的数据是一个包含 文本、颜色、 等的对象...作为上下文传递给 twig 文件。
在数据中,用户可以发送 {foo}
等占位符,我想将这些占位符替换为 {% include 'partial.twig' %}
。
我的第一次尝试是使用过滤器 |replace
但它没有得到处理:
{% set foo = foo|replace({'{foo}': '{% include "partial.twig" %}'}) %}
是否有可能扩展 twig.js 以实现类似的功能?
分两步完成,先把partial抓到一个变量里,然后用变量代替placeholder,例如
{%- set bar -%}
{% include "partial.twig" %}
{%- endset -%}
{% set foo = 'this is {foo}' %}
{% set foo = foo|replace({'{foo}': bar }) %}
{{ foo }}
注意: {%- ... -%}
用于去除空格