Елементи

    Той, хто почне розбиратися з Evolution, зіткнеться з новими термінами.

    Тут ми відзначимо невеликі моменти, які періодично можна підглядати.

    Термінологія

    Шаблон - містить загальну верстку сторінки зі структурою і дизайном. Також, в ньому визначаються місця для виведення динамічного вмісту. Для кожного документа можна вибрати свій шаблон.

    Параметри (TV) - додаткові параметри, які підключаються до шаблону. Параметри можуть бути різних типів (текст, посилання, файл, дата, число тощо). Більш докладно про типи чекайте в наступних статтях.

    Чанк - маленький шаблон, який може використовуватися як просто для виведення якогось вмісту (телефону на всіх сторінках), так і для обробки (шаблон листа eForm, шаблон каталогу Ditto тощо). Таким чином, вид (подання) інформації відділяється від місця обробки і легко управляється.

    Сніпет - код для обробки інформації. Аналізує отриману інформацію (наприклад, повідомлення користувача) і надають результат (наприклад, відправляють повідомлення поштою, а користувачеві показують повідомлення про результат). Сніпети формують меню (Wayfinder), виводять списки статей з розбивкою на сторінки (Ditto), будують форми (eForm). Для виведення використовують Чанки.

    Плагін - код, який запускається при настанні якоїсь події. Наприклад, підсвічує шукані слова (Search Highlighting) при переході зі сторінки пошуку. Подій багато і їх розгляд вартий окремої статті.

    Спеціальні теги

    Для виведення динамічних даних використовуються спеціальні теги.

    Системні

    • EvoDOC - назва сайту
    • / або https://docs.evo.im/ - адреса сайту (https://www.evolutioncms.org)
    • UTF-8 - використовуване кодування
    • ru - код мови сайту
    • [^m^] - кількість використаної пам'яті
    • [^qt^] - час на запит до бази даних
    • [^q^] - кількість запитів до бази даних
    • [^p^] - час на работу PHP скриптів
    • [^t^] - загальний час на генерацію сторінки
    • [^s^] - джерело вмісто (база або кеш)

    Стандартні

    • 02_Elements - Заголовок документа
    • - Розширений заголовок документа
    • - Опис документа
    • - Анотація документа
    • - Вміст документа
    • 02_elements - Псевдонім документа
    • 2714 - Ідентифікатор (номер) документа
    • 0 - Дата публікації дкоумента
    • 0 - Дата завершення публікації
    • 0 - Ідентифікатор користувача, який створив документ
    • 1609898996 - Дата створення документа
    • 0 - Ідентифікатор користувача, який редагував документ
    • 1651968104 - Дата редагування документа
    • [~ідентифікатор~] - URL вказаного документа

    Додаткові

    • document - Варіант (документ, каталог або посилання)
    • text/html - Тип вмісту (напр., text/html)
    • 1 - Чи опублікован документ (1|0)
    • 2712 - Номер (ID) батьківського документа
    • 1 - Чи є документ каталогом (1|0)
    • 1 - Чи використовується при редагуванні документа візуальний редактор
    • 1 - Номер (ID) використаного шаблона для документа
    • 5 - Порядковий номер відображення в меню
    • 1 - Чи доступний документ для пошуку (1|0)
    • 0 - Чи кешується документ (1|0)
    • 0 - Документ видалено (1|0)
    • 0 - Ідентифікатор користувача, який видалив документ
    • - Заголовок меню. Якщо не використовується, то заголовок документа
    • - Стеження за кількістю відвідувань відключено (1|0)
    • - Документ містить ключові слова (1|0)
    • - Документ має метатеги(1|0)
    • - Документ входить в приватну групу призначених для користувача документів (1|0)
    • - Документ входить в приватну групу менеджерських документів (1|0)
    • - Варіант видачі вмісту (1 - для відображення | 0 - для скачування)
    • - Документ не відображається в меню (1|0)

    Параметри TV, сніпети і чанки

    [\*НазваПараметраTV\*] - виводить значення параметра в документі.
     - повертає вміст чанка.
     - повертає результат роботи сніпета. 

    Можна передавати сніпету додаткові параметри, перераховуючи їх при виклику. Припустимо, якщо ми хочемо отримати id поточного документа і обробити його в сніпеті, то виклик може бути схожий на цей:

    - плейсхолдер - зустрічається в чанках, які використовуються для обробки результатів роботи сніпетів. Після обробки замість них вставляються значення. В наведеному вище прикладі ви бачите, як в параметр docId для сніпета ми підставили системний плейсхолдер , в якому буде id поточного документа. Плейсхолдери можна створювати самому.

    Нюанси

    Насправді є два варіанти виклику сніпета: 1. - Кешований виклик сніпета 2.[!НазваСніпета!] - Некешований виклик сніпета

    Де використовувати

    Все дуже гармонійно використовується одне з одним. В шаблонах можна використовувати параметри TV, сніпети і чанки. У чанках можна викликати сніпети, параметри TV та інші чанки. У сніпетах можна викликати взагалі все, але через PHP. В кінцевому рахунку вам повернеться підсумковий результат обробки всіх сніпетів/чанків/параметрівTV. На цю інформацію спирається все інше.

    Приклад шаблона

    <!DOCTYPE html>
    <html lang="ru">
    
    <body>
        
    </body>
    </html>

    де head_tags це чанк з натупним вмістом:

    <head>  
        <base href="https://docs.evo.im/" />
        <meta charset="UTF-8" />
        <title>02_Elements / EvoDOC</title>
    </head>

    А в полі буде виведено вміст сторінки, заданий з адмінки.