Сніпети є однією з найбільш корисних функцій системи Evolution.
Сніпети використовуються для виведення динамічно мінливого вмісту - меню, коментарів, новинних стрічок, блогів чи будь-якого іншого функціоналу, який можливий на мові php у зв'язці з API системи Evolution.
У цьому документі обговорюється використання фрагментів. Щоб дізнатися більше про те, як створювати сніпети і як вони працюють, див. Для розробників.
Код сніпета, як правило, зберігається в базі даних. Іноді у сніпета є допоміжні файли. В такому випадку, сніпет діє як інтерфейс між Evo і допоміжними файлами.
Сніпет, у якого таких файлів немає, взагалі не завантажується в файлову систему сайту.
Під час встановлення Evolution ви можете побачити список часто використовуваних фрагментів, які будуть встановлені на сайт. Радимо вивчити їх уважніше - це базові сніпети, які покривають масу можливостей вашого сайту.
Ви можете назвати сніпет так, як вам подобається, просто пам'ятайте, що ім'я, яке ви йому даєте,- це те, як вам потрібно буде називати його пізніше в вашому шаблоні.
При завантаженні будь-яких допоміжних файлів, які можуть мати сніпети, їх зазвичай поміщають в папку з вихідним ім'ям сніпета в нижньому регістрі, наприклад /assets/snippets/DocLister.
Припустимо, ми хочемо в шаблоні вивести динамічно створюване меню. Використовуємо для цього сніпет під назвою DLMenu.
[!DLMenu?
&parents=`3`
&sortBy=`id`
&outerTpl=`@CODE: <ul class="menu">[+wrap+]</ul>`
&rowTpl=`@CODE: <li [+classes+]><a href="[+url+]" title="[+pagetitle+]">[+title+]</a></li>`
!]
Як ви можете помітити, в сніпет передаються параметри. Як правило, опис цих параметрів є в документації того сніпета, який ви використовуєте. В даному випадку ми вказуємо DLMenu звідки брати документи для меню (&parents=3
), як їх сортувати (&sortBy=id
) і яким чином виводити результат роботи - outerTpl и rowTpl.
Виклик сніпета може бути двох видів: [[SnippetName]] або [! SnippetName!].
Перша форма - Кешований виклик сніпета. Зазвичай це не проблема. Іноді важливо, щоб висновок сніпета не був кешований. Наприклад, сніпет Login повинен визначити,чи увійшов користувач в систему, а якщо ні, тоді відобразити форму входу. Якщо сторінка буде кешуватися, то сніпет не запускається, і зовнішній вигляд не буде змінюватися.
Друга форма, яка використовує знаки оклику, викликає запуск сніпета, навіть якщо сторінка була кешована.
Є сотні фрагментів, які вже створені і готові для вас. У міру зростання спільноти Evo кількість і різноманітність сніпетів будуть рости і далі.