仅当至少有1个元素(在数组中)时才输出包装div

时间:2011-12-14 13:41:58

标签: symfony twig

我有以下(Symfony 2)PHP模板:

<?php 
$messages = $view['session']->getFlashes();
if (count($messages) > 0) : ?>
<section id="flashMessages">
    <ul>
        <?php foreach ($messages as $key => $msg) : ?>
        <li class="<?php $key ?>">
            <?php echo $msg ?>
        </li>
        <?php endforeach; ?>
    </ul>
</section>
<?php endif; ?>

我希望以简单的方式转换为twig。我怎样才能做到这一点?我可以在树枝上count()吗?在twig中,else循环中有for,但我希望section#flashMessages仅在有闪存消息时显示

1 个答案:

答案 0 :(得分:1)

{% set messages = app.session.getFlashes() %}

{% if messages | length > 0 %} {# or just `if messages` #}
    <section id="flashMessages">
        <ul>
            {% for key, msg in messages %}
                <li class="{{ key }}">
                    {{ msg }}
                </li>
            {% endfor %}
        </ul>
    </section>
{% endif %}

抱歉,写在这里 - 没时间测试它。但这应该足以向您展示概念。