Приклади

    Ditto: Приклади

    Приклади виклику сніпета 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'
        )
    );