如何使用Twig模板自动检查复选框?

时间:2016-01-24 13:54:20

标签: php twig

我想自动检查HTML中的复选框。我已经设法让这个工作,但它在模板中有点混乱:

<ul>
    {% for tag in tags %}
        {% set selected = false %}
        {% for article_tag in article.tags %}
            {% if article_tag.id == tag.id %}
                {% set selected = true %}
            {% endif %}
        {% endfor %}
        <li><input type="checkbox" name="tags[]" value="{{ tag.id }}" {% if selected %}checked{% endif %}> {{ tag.name }}</li>
    {% endfor %}
</ul>

所以我加载的数据是这样的(采用JSON格式):

[
    'tags' => [
        {'id'=> 1, 'name'=>'Travel'},
        {'id'=> 2, 'name'=>'Cooking'},
    ],
    'article' => {
        'tags' => [
            {'id'=> 1, 'name'=>'Travel'},
        ],
    }
]

另外,我没有使用Symfony(我正在使用Slim的Twig库)所以不确定Symfony是否在它的框架中有一些用Twig做东西的东西。如果是这样,它对我不起作用:(

1 个答案:

答案 0 :(得分:1)

问题是该文章是一个数组,所以或者您需要为每个包含的标记数组循环,或者您只需访问第一个元素,如下所示:

    {% for article_tag in article[0].tags %}

而不是:

    {% for article_tag in article.tags %}

here

希望这个帮助