Серебристая полоска 3 - Опции для <% петли%>
Есть ли список всех опций, которые я могу добавить в цикл?
Я не знаю, подходит ли для этого название options. Я имею в виду эти
<% loop Dataobject.Reverse %>
<% loop Dataobject.Limit() %>
Может ли кто-нибудь рассказать мне все, что здесь возможно? И как это правильно называется?
1 answers
В вашем вопросе есть ошибка, это <% loop $DataList.xxx %>
или <% loop $ArrayList.xxx %>
(см., вы зацикливаете список объектов данных)
Ну, loop
в основном это просто цикл foreach
Так, например:
<% loop $DataList.Reverse %>$Title<% end_loop %>
Является разновидностью того же, что и:
<?php
foreach($dataList->reverse() as $item) {
echo $item->Title;
}
"вид" то же самое, потому что на самом деле шаблон выполняет некоторую проверку и приведение для вас (например, он не выдает и не выдает ошибку, если заголовок не задан), и цикл может содержать только списки с серебряной полосой, а не массивы
Tl;dr; /в заключение
loop
вообще не имеет опций
опции, о которых вы говорите, - это методы, которые существуют в списке, который вы хотите зациклить.
2 списка классов php, которые вы обычно зацикливаете, следующие:
- Datalist документы api для класса DataList
- ArrayList документы api для класса ArrayList
Смотрите список методов в документах API, чтобы узнать, какие методы доступны.
Очевидно, что не все методы предназначены для использования для цикла
будут полезны только те, которые возвращают DataList
или ArrayList
.
вы можете увидеть, что они возвращают из первого столбца таблицы.
Например:
public ArrayList limit( integer $length, integer $offset = 0 )
Означает:
- он является общедоступным (поэтому его доступные, частные или защищенные файлы не будут доступны в шаблоне)
- он возвращает список массивов
- имя
limit
- параметрами являются длина числа и смещение числа
Так что вы можете сделать: <% loop $List.limit(10,5) %>
Дальнейшее чтение:
Некоторые методы в этом списке не показывают параметры, но на самом деле они есть, это потому, что они динамические, и документы API не отображают это.
Пример:
public ArrayList filter( )
Можно использовать так (я думаю, никогда не пробовал):
<% loop $List.filter('Name', 'Zauberfisch') %>
Вы также можете добавить свои собственные методы, создав Extension
и добавив это расширение в DataList
и ArrayList