【问题标题】:TWIG REPLACE not Working树枝更换不起作用
【发布时间】:2018-07-19 18:18:30
【问题描述】:

我有以下树枝代码:

{% set button_class = button_class_off|default('toggle toggle-thumbs-down') %}

{% set button_toggle_swap = button_toggle_swap|default(['toggle-thumbs-down', 'toggle-thumbs-up']) %}

{% if value == '1' %}
    {% dump(name) %}

    {% for swap in button_toggle_swap %}
        {% if swap in button_class %}
            {% dump(swap) %}
            {% dump(button_class) %}
            {% set button_class = button_class|replace({swap: ""})|trim %}
            {% dump(button_class) %}
        {% else %}
            {% set button_class = button_class ~ ' ' ~ swap %}
        {% endif %}
    {% endfor %}
{% endif %}

转储显示:

"hifi"

"toggle-thumbs-down"

"toggle toggle-thumbs-down"

"toggle toggle-thumbs-down"

我不知道为什么替换不起作用。我试过这个有和没有修剪。结果是忽略了用“”替换交换。

知道我在这里做错了什么吗?

【问题讨论】:

    标签: twig


    【解决方案1】:

    好的。文档中似乎缺少一些细节。如果使用变量(不是绝对字符串),则该变量必须用括号 () 括起来。

    此代码有效:

    {% set button_class = button_class_off|default('toggle toggle-thumbs-down') %}
    
    {% set button_toggle_swap = button_toggle_swap|default(['toggle-thumbs-down', 'toggle-thumbs-up']) %}
    
    {% if value == '1' %}
        {% for swap in button_toggle_swap %}
            {% if swap in button_class %}
                {% set button_class = button_class|replace({(swap): ""})|trim %}
            {% else %}
                {% set button_class = button_class ~ ' ' ~ swap %}
            {% endif %}
        {% endfor %}
    {% endif %}
    

    感谢str_replace in twig的回复

    【讨论】:

    • 天哪,谢谢你这让我发疯了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2016-04-06
    相关资源
    最近更新 更多