首先,我没有足够的能力创建某些人的自定义功能。我的问题需要使用Twig的前端选项。是的,我对Twig很新:)
我正在尝试将一些Twig变量添加到javascript变量中。该javascript变量用于将文本翻译为不同的语言。
最终结果必须是:
var ajaxTranslations = {{ 'Free shipping; In stock; Natural; Juice;' | t_json | raw }};
// so Natural and Juice need to added in the exact same way as above
所以我有一个Twig变量,其中包含一些文本:
{{ product_usp }} // results in -> Natural, Juice
首先,我想将该字符串(在每个逗号之后)拆分为两个单独的值。 接下来,我想创建一个包含这些值的数组,并将它们添加到该javascript变量中。这就是我的问题开始的地方。
如何将tusp
添加到该javascript变量中?
我做的是:
{% set tusp = [] %}
{% set usps = theme.product_usp | split(',') %}
{% for usp in usps %}
{% set tusp = usp ~ ';' %}
{% endfor %}
<script>
var ajaxTranslations = {{ 'Free shipping; In stock; ~ tusp' | t_json | raw }};
<script>
这会导致空值,或~ tusp
被视为文本而非值。
非常感谢任何帮助。
答案 0 :(得分:1)
使用代字号运算符时,它必须位于字符串和/或变量之间:
<script>
var ajaxTranslations = "{{ 'Free shipping; In stock; ' ~ tusp | raw }}";
<script>
或者您可以使用&#34;字符串插值&#34;:
<script>
var ajaxTranslations = "{{ "Free shipping; In stock; #{tusp}" | raw }}";
<script>