Цикл с кастомным счётчиком (рецепт/вопрос)

Элионт

Проверенные
Сообщения
36
Реакции
20
Баллы
1,705
Доброе время суток.

Понадобилось прибавлять к счётчику иногда больше единицы за цикл, но не нашёл никакого толкового способа.
На текущий момент сделал через такую хитро закрученную задницу (и оно работает), но может есть способ покороче? Очень уж громоздко выглядит.

Код:
    <table style="width:100%;overflow:hidden;" border="0">
        <xen:foreach loop="$arr" value="$item" i="$index">
       
            <xen:if is="{$index} == 1">
                <xen:set var="$sub_header">{item.subheader}</xen:set>
                <xen:set var="$count1">{xen:number 1}</xen:set>
                    <tr><td>{$sub_header}</td><td>{$count1}</td></tr>
                <xen:set var="$count2">{xen:calc '{$count1}+1'}</xen:set>
                <xen:set var="$count1">{$count2}</xen:set>
            <xen:else />
                <xen:if is="{$sub_header} != {item.subheader}">
                    <xen:set var="$count2">{xen:calc '{$count1}+1'}</xen:set>
                    <xen:set var="$count1">{$count2}</xen:set>
                    <xen:set var="$sub_header">{item.subheader}</xen:set>
                        <tr><td>{$sub_header}</td><td>{$count1}</td></tr>
                    </xen:if>
                <xen:set var="$count2">{xen:calc '{$count1}+1'}</xen:set>
                <xen:set var="$count1">{$count2}</xen:set>
            </xen:if>
           
            <tr id="row_{$count1}" style="height:20px;" >
                <td>{$item.content}</td>
                <td>{$count1}</td>
            </tr>
        </xen:foreach>
    </table>
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу