如何将 Twig 过滤器 replace() 应用于非字符串的呈现结果?

问题描述 投票:0回答:0

在 PHP 中有一个变量准备在 Twig 模板中呈现,例如

{{ product.variations.0.add_to_cart_form }}

我需要通过添加额外的字符串来更改最终呈现的结果。

问题是,键

add_to_cart_form
的值不是字符串。它可能是执行某些 PHP 函数的结果,或者是数组的一个元素。我不明白它是如何用 PHP 准备的,但我需要简单地通过应用过滤器
|replace({'some_string':'some_string and_more'})
来更改最终结果。如果可能的话。

如果我把

{{ product.variations.0.add_to_cart_form }}
行放到一个新模板中,将它包含在父模板中并添加到一个新变量中,比如

{% set test %}
    {% include directory ~ '/templates/addtocartform.html.twig' %}
{% endset %}
{% set test = test.replace({'some_string':'some_string and_more'}) %}
{{ test }}

我在页面上什么也看不到。同样,据我了解,因为变量不是字符串。

有没有办法将它“转换”为字符串,然后应用过滤器

|replace()
而不管变量的类型?

twig twig-filter
© www.soinside.com 2019 - 2024. All rights reserved.