【发布时间】:2018-06-06 14:58:29
【问题描述】:
我正在使用 OctoberCMS 并从 Algolia 返回值,Twig 模板似乎无法使用 split() 过滤器进行拆分。
我在每个搜索项中都存储了这样的颜色
["Blue_#3498db","Dark Green_#16a085","Turquoise_#06e5c7"]
根据 Algolia Instantsearch 文档,我的模板是这样的:
<script type="text/html" id="refinementListColourItem-template">
{% set itemValue = '{{value}}' %}
<div>
<a href="#">
<span>
{% set tests = itemValue|split('_') %}
{% for test in tests %}
{{ test }}
{% endfor %}
</span>
</a>
</div>
</script>
这将返回完全相同的字符串,而不是按预期将其拆分为下划线。
奇怪的是,如果我手动添加这样的值之一,它可以正常工作
{% set tests = 'Red_#c0392b'|split('_') %}
{% for test in tests %}
{{ test }}
{% endfor %}
如果我 dump() 变量 itemValue 它以字符串形式返回,并且没有被转换为 HTML 特殊字符
【问题讨论】:
-
你能分享一下你如何设置
{{value}}以便我们可以在本地系统中重现 -
{% set itemValue = '{{value}}' %}- 我不确定您希望在这里发生什么,但是通过此语句,您实际上将文字{{ value }}存储在itemValue中,这是一个不包含任何 @ 的字符串987654332@,所以您的代码按预期工作...demo
标签: php twig octobercms algolia