Примеры вызова сниппета Ditto.
[!Ditto? &tpl=`news_tpl` &parents=`2`!] // некэшируемый вызов [[Ditto? &tpl=`news_tpl` &parents=`2`]] // кэшируемый вызов
где:
&tpl=`news_tpl`
- шаблон вывода документов
&parents=`2`
- ID папки в которой находятся обрабатываемые документы
[!Ditto? &tpl=`news_tpl` &parents=`2` &orderBy=`pagetitle ASC`!]
где:
&orderBy=`ASC pagetitle`
- сортировать по возрастанию по полю заголовка документов
[!Ditto? &tpl=`news_tpl` &parents=`2` &id=`news` &paginate=`1` &display=`10`!] <div class="pagination"> Страница [+news_currentPage+] из [+news_totalPages+] [+news_previous+][+news_pages+][+news_next+] </div>
где:
&id=`news`
- идентификатор Ditto. Должен быть уникальным для каждого из вызовов Ditto с постраничным разбиением. Необходим для корректной работы постраничных плэйсхолдеров, если на странице используются и другие вызовы сниппета Ditto
&paginate=`1`
- включаем постраничное разбиение
&display=`10`
- количество отображаемых документов на каждой странице
При использовании идентификатора при постраничном разбиении, идентификатор должен быть добавлен в качестве суффикса к плэйсхолдерам пагинации, т.е. в данном случае плэйсхолдер [+pages+]
должен превратиться в [+news_pages+]
.
[!Ditto? &tpl=`news_tpl` &parents=`2` &dateSource=`pub_date` &dateFormat=`%d.%m.%Y`!]
где:
&dateSource=`pub_date`
- источник, определяющий значение плейсхолдера [+date+]
, использующегося в шаблоне news_tpl
&dateFormat=`%d.%m.%Y`
- определяет формат времени, которое выводится с помощью плейсхолдера [+date+]
согласно правилам функции PHP - strftime.
[!Ditto? &tpl=`news_tpl` &parents=`2` &filter=`id,10,2|id,20,2`!]
где:
&filter=`id,10,2|id,20,2`
- исключает документы с id 10 и 20
$modx->runSnippet( 'Ditto', array( 'startID' => 34,33,37,35,36, 'summarize' => 9, 'tpl' => 'portfolioTpl', 'dateFormat' => '%d.%m.%Y', 'dateSource' => 'pub_date', 'display' => 9, 'paginate' => 1, 'paginateAlwaysShowLinks' => 1, 'filter' => 'year,'.$_GET['year'].',1' ) );