Ciclo Foreach con più elemento di Twig template engine

Sto usando Twig come modello di quadro di riferimento per la mia applicazione web PHP.

Vorrei sapere se c’è un modo veloce per ottenere molte elemento in un blocco di foreach.

Questo è i miei dati:

users=>[
 ["name"=>"User1"],
 ["name"=>"User2"],
 ["name"=>"User3"],
 ["name"=>"User4"],
 ["name"=>"User5"],
 ["name"=>"User6"]
]

Questo sarebbe un ciclo standard (ogni elemento):

<ul>
    {% for user in users %}
        <li>{{ user.name }}</li>
    {% endfor %}
</ul>

Ma questo è quello che ho bisogno in blocco di n elementi (in questo esempio n=3)

<ul>
    <li>User1</li>
    <li>User2</li>
    <li>User3</li>
</ul>
<ul>
    <li>User4</li>
    <li>User5</li>
    <li>User6</li>
</ul>

Esiste un modo veloce per fare questo in Twig o devo preparare i dati in modo diverso e con un sottomatrice strato?

OriginaleL’autore Tobia | 2015-03-11

One Reply
  1. 10

    Guarda come è necessario utilizzare batch filtro:

    {% set items = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] %}
    
    <table>
    {% for row in items|batch(3, 'No item') %}
        <tr>
            {% for column in row %}
                <td>{{ column }}</td>
            {% endfor %}
        </tr>
    {% endfor %}
    </table>

    Verrà eseguito il rendering:

    <table>
        <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tr>
        <tr>
            <td>d</td>
            <td>e</td>
            <td>f</td>
        </tr>
        <tr>
            <td>g</td>
            <td>No item</td>
            <td>No item</td>
        </tr>
    </table>

    Fonte: Documentazione Di Twig

    Grazie. Batch è stata la mia risposta!

    OriginaleL’autore Rodin Vasiliy

Lascia un commento