循环并为不同种类的软件包制作diffrent列

时间:2019-06-11 13:48:53

标签: php symfony twig

我想为packages数组中的每个元素创建一个包。如果包属于一种类型,则创建一个不同的行。

比方说,我有包裹:A,B,C,D,A2,B3,C6,D8。 A和A2将排成一行; B和B3将位于不同的行,依此类推。

试图为包中的每个包创建一个for循环,并在index0%2 == 0时循环;

代码看起来像这样

<div class="dashboard">
    <div class="row">
        <div class="container margin-bottom-60">
            <h2>boom</h2>
            <h4>lorem</h4>
            <br>
        {% for package in packages %}
            {% if loop.index0 % 2 == 0 %}
            <div class="col-md-4">
                <div class="packages-backend-elment">
                    <div class="col-md-12">
                        <h3>{{ package.title }}</h3>
                        <span>{{ package.shortTitle }}</span>
                        <div class="price">
                            {{ package.price }} 
                         </div>
                         <div class="description">
                             {{ package.shortDescription | raw }}
                         </div>
                         <div class="buttons">
                             <a href="#">
                                 <button type="button" class="btn-6 btn ink-reaction btn-flat dropdown-toggle paymentRequestBtn" data-urlaction="/employee/payment-requests/{{ package.id }}"></button>
                             </a>
                             <a href="#">
                                 <button type="button" class="btn-6 btn ink-reaction btn-flat dropdown-toggle show-packages-details"></button>
                             </a>
                         </div>
                     </div>
                 </div>
             </div>
             {% endif %}
        {% endfor %}
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

您将需要存储key-value array中已经存在的列。它将从一个空数组开始,然后您将loop遍历项目check whether their value exists in the key-value array。如果是这样,请add the new value到已经创建的值,该值应该是一个数组。完成此操作后,将有一个键值数组,每个键代表一列,每个值代表列中的项数组。您将有两个嵌套循环。外循环将循环列。内部循环将循环这些值。并且您将需要根据需要定义要显示的HTML。