我在用Twig转换字​​符串时遇到麻烦。我正在为一个多语言的网上商店建立一个主题。

用户可以创建USP(唯一卖点)。问题是当您使用其他语言时,它不会翻译。

因此,usp在模板{{ theme.usp }}中像这样被调用
这样的结果例如是“免费送货”。

要在系统中翻译字符串,您必须使用{{ 'Free shipping' | t }}过滤器。

有什么办法可以转换{{ theme.usp }}。我认为这会很有用,但我不知道如何将其合并。 How to concatenate strings in twig

我所做的是:

{% set usp = {{ theme.usp }} %}
{{ usp | t }}

这样做会给我一个错误,因为{{ theme.usp }}必须介于''之间。这样做不会给我'Free shipping'作为结果,而是给我'theme.usp'

有人建议吗?

最佳答案

尝试:

{{ theme.usp|trans }}

或者如果必须用t过滤,则
{{ theme.usp|t  }}

10-06 02:40