没有环的Twig斑马剥离

时间:2014-10-13 19:06:35

标签: if-statement twig

我有一个表,其行根据用户动态生成'输入(它是可能会或可能不会采用促销代码的费用摘要 - 如果用户有一个 - 和礼物消息 - 如果用户发送一个)。由于项目来自我的应用程序中的不同位置,因此无法在循环中生成费用摘要的项目。我只对用户出现或不出现的项目有条件。订单取决于订单是什么样的。桌子需要进行斑马剥离。因为项目的数量可能会有所不同,我无法对内嵌颜色进行硬编码(这是一封电子邮件)。我在行上尝试了twig的divisibleby和modulo,因此颜色会交替为偶数行和奇数行。虽然颜色变化但它不会改变我想要的颜色,也不会进行斑马剥离(所有行都变为蓝色。我需要颜色在浅米色(#fcf9f5)和白色(#ffffff)之间交替。我错过了什么?

以下是一个tr的代码:

{% set index = 0 %}                         
    <tr bgcolor="{% if index is divisibleby(2) %} #fcf9f5 {% else %}  #ffffff {% endif %}">
        <td align="left" style="height: 30px; width: 273px; padding-left: 40px;">
            <span style="font-family:'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial,'Lucida Grande', sans-serif;font-weight: 500;">Order Subtotal:</span>    
        </td>

        <td align="left" style="height: 30px; width: 273px; padding-left: 40px;font-family:'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial,'Lucida Grande', sans-serif; font-weight: 300;">
            <span>{{ order.itemsTotal|sylius_price }}</span>    
        </td>                                           
    </tr>
{% index++ %}

1 个答案:

答案 0 :(得分:0)

很抱歉,但Twig无法纠正您的代码很脏的事实。

我们假设您有3个不同的来源。如果将它们全部显示在数组中,则它们具有所有comon属性吗?

您只需将所有源对象组合在一个简单的可显示对象(DTO)中。

Twig不能包含业务逻辑,它只显示内容。

如果您想在视图中保留逻辑,请尝试使用twig merge功能组合数组并在循环中显示它们