Есть ли список всех параметров, которые я могу добавить в цикл?
Я не знаю, правильно ли это имя. Я имею в виду эти
<% loop Dataobject.Reverse %> <% loop Dataobject.Limit() %>
Может ли кто-нибудь рассказать мне все, что здесь возможно? И какое правильное название для него?
в вашем вопросе есть ошибка, это <% loop $DataList.xxx %>
или <% loop $ArrayList.xxx %>
(см., вы зацикливаете список DataObjects)
ну, loop
– это просто цикл foreach
так, например:
<% loop $DataList.Reverse %>$Title<% end_loop %>
является таким же, как:
<?php foreach($dataList->reverse() as $item) { echo $item->Title; }
«kindof» то же самое, потому что на самом деле шаблон выполняет некоторую проверку и кастинг для вас (например, он не бросает и не ошибочно, если Title не задан), и цикл может обрабатывать только списки SilverStripe, а не массивы
ТЛ; др; / вывод
loop
имеет никаких параметров
варианты, о которых вы говорите, являются методами, которые существуют в списке, который вы хотите использовать. 2 перечисляет классы php, которые вы обычно выполняете:
см. список методов в документах API для того, какие методы доступны.
очевидно, не все методы предназначены для использования в цикле,
DataList
только те, которые возвращают 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