Виведення статей на сторінку за допомогою Ditto
Ймовірно, одним із найпоширеніших завдань при конструюванні сайту є виведення на сторінку новинних, інформаційних статей, каталогу продукції тощо, одним словом, виведення документів на сторінку. Найпотужнішим інструментом MODx для цього можна вважати сніпет Ditto, розроблений Марком Капланом (Mark Kaplan). Серед його основних функцій – розбивка на сторінки, виведення короткої версії статті з посиланням «далі», генерування архіву, сортування за датою, заголовком тощо.
Отже, розглянемо приклад виведення статей новин на сторінку сайту. Нехай нам потрібно виводити по 5 статей на сторінці, без архіву, як коротку версію статті використовувати поле "Аннотація" (introtext) і як посилання на повну версію статті використовувати «>>».
- Створюємо документ і називаємо його «Новини»
- Створюємо 2-3 статті новини як дочірні документи. Нагадаю, що для створення дочірнього документа правою кнопкою натискаємо на документі «Новини» та вибираємо «Дочірній док.» (“Create document here”).
- Завантажуємо сніпет Ditto і встановлюємо його в нашу систему. Для цього в панелі управління ресурсами створюємо новий сніпет, називаємо його "Ditto" і в тіло вставляємо вміст файлу snippet.ditto.1.0.1.php. Також, у директорії assets/snippets/ditto у нас має бути файл ditto.class.inc.php.
- Створюємо чанк з ім'ям, наприклад ”ditto_news” який міститиме html-шаблон виведення статті. Приклад шаблону (використовується на цьому сайті):
[+pagetitle+] - [+date+]
Далі задаємо параметри, щоб отримати потрібний нам висновок статей (майте на увазі, що при заданні значення параметра потрібно використовувати «зворотний апостроф», який на одній клавіші з літерою «Е»):
- &summarize=`5` - задаємокількість новин на сторінці
- &paginate=1 - включаємо режим розбивки на сторінки, тим самим відключаємо архів
- &tpl=` ditto_news ` - посилаємося на раніше створений нами шаблон виведення статей.
- &dateFormat=`%d.%m.%Y` — задаємо формат виведення дати
- &sortBy=`createdon` - сортуємо статті за датою створення
- &truncText=`>>` — задаємо текст посилання на повну версію статті