ForEach - циклическая вставка данных

ForEach - циклическая вставка данных

Инструкция foreach cлужит для циклического вывода данных. Внутри тэга располагается шаблон вывода.

Значения атрибутов:

data-role       - указывает имя инструкции foreach
data-form       - указывает имя формы из которой берётся набор данных
data-sort       - через пробел перечисляются имена полей для сортировки, 
                  опционально через двоеточие указывается направление сортировки
                  :d или :a (DESC и ASC соответственно)
                  Так же атрибут data-sort может использоваться для сортировки данных таблицы 
                  по столбцам. Для этого необходимо указать атрибут в тэге table->thead->th
                  соответствующему столбцу по которому будет осуществляться сортировка.
                  Содержимое атрибута data-sort, в этом случае, так же перечисляет имена полей 
                  по которым будет производиться сортировка.
data-size       - разбивка на страницы через ajax, указывается количество элементов на странице.
                  Разбивка на страницы автоматически включается при количестве записей более 200.
                  Для принудительного отключения разбивки на страницы, в качестве значения
                  атрибута data-size используется false.
data-pagination - разбивка на страницы через js, указывается количество элементов на странице
data-fld        - используется совместно с атрибутами data-group и data-total, 
                  предназначен для назначения имени ячейки (тэг TD).
data-group      - в атрибут через пробел передаются имена ячеек таблицы, 
                  по которым необходимо сгруппировать данные. 
                  Имена ячеек назначаются атрибутом data-fld
data-total      - в атрибут через пробел передаются имена ячеек таблицы, 
                  по которым необходимо суммировать данные. 
                  Имена ячеек назначаются атрибутом data-fld
from            - укзывает имя элемента массива содержащего набор данных
index           - указывает индекс элемента массива from для вывода
json            - принимает набор данных для вывода в формате json
item            - имя записи из которой берётся набор данных 
                  (используется совместно с form)
field           - имя поля из которого берётся набор данных 
                  (используется совместно с form и item)
rand            - при rand="true" набор данных выводится в случайном порядке
limit           - ограничение количества выводимых результатов
step            - разбивает вывод на блоки по указаное количество записей
call            - имя существующей процедуры, которая используется для кастомной 
                  подготовки набора данных списка
oconv           - имя существующей процедуры, которая используется для кастомной 
                  подготовки данных текущей записи перед выводом
vars            - передаются какие-либо переменные, добавляемые в текущий Item

Можно использовать вложеные иструкции foreach, в этом случае если ключи массивов родительского и дочернего списков совпадают, то для получения значений родительского массива, перед именем ключа нужно поставить %

Пример:

<div data-role="foreach" form="accounts" data-sort="id">
    <ul data-role="foreach" form="{{id}}_orders" data-sort="date:d" limit="100">
        <li>{{date}} - {{summ}} (account (id: {{%id}} name: {{%name}})</li>
    </ul>
</div>

В данном примере показан вывод данных с вложеным циклом. Обратите внимание, что имя вложеной формы вычисляется на основе id формы accounts.

Специальная переменная _idx позволяет обращаться к значениям массивов в текущем потоке данных

Пример:

<div data-role="foreach" form="accounts" data-sort="id:a">
    <ul data-role="foreach" from="{{phone}}>
        <li>Телефон: {{%phone[_idx]}}, отдел: - {{%phone_type[_idx]}}</li>
    </ul>
</div>

Пример:
В данном примере показана возможность группировки данных и подведение итогов по группам. В атрибуты data-group и data-total передаются имена ячеек для группировки и подведения итогов. Имена ячеек (тэг td) назначаются с помощью атрибута data-fld.

 

Интеграция с Bootstrap v.3

Чистый & понятный код

Парсер DOM в PHP