Серебристая полоска 3 - Опции для <% петли%>


Есть ли список всех опций, которые я могу добавить в цикл?

Я не знаю, подходит ли для этого название options. Я имею в виду эти

<% loop Dataobject.Reverse %>
<% loop Dataobject.Limit() %>

Может ли кто-нибудь рассказать мне все, что здесь возможно? И как это правильно называется?

Author: 3dgoo, 2013-12-14

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, которые вы обычно зацикливаете, следующие:

Смотрите список методов в документах 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

 9
Author: Zauberfisch, 2013-12-14 16:12:00