Використання сніпетів

    Сніпети є однією з найбільш корисних функцій системи 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 кількість і різноманітність сніпетів будуть рости і далі.