Чанки

    Чанк у Evolution - це невелика частина HTML-коду або іншої інформації, який може бути неодноразово використаний в шаблоні, іншому чанку або сніпеті.

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

    Варіант 1

    Чанк створюється для будь-яких частин коду, який буде використовуватися кілька разів. Наприклад, ви можете винести заголовок, підвал, головне меню, крихти. Завдяки цьому, зміни можуть бути зроблені в одному чанку, а не в декількох шаблонах. Це простіше і не має ризику залишити певний шаблон без важливої ​​зміни.

    Варіант 2

    Друге найчастіше використання чанка - шаблони для сніпетів. Завдяки цьому, контрольний код та дизайн відділяються. Залежно від складності сніпета, кількість шаблонів може відрізнятися. Наприклад, щоб створити форму зворотного зв'язку, вам може знадобитися 3 основних шаблонів - форма, текст про успішний прийом, текс листа до адміністратора з отриманою інформацією. Для того, щоб чанк бути не тільки частиною HTML-коду, але працював як шаблон, в ньому необхідно зазначити відповідні місця, куди сніпет буде записувати свою інформацію. Роль таких місць виконують плейсхолдери.

    Приклад вмісту чанка з плейсхолдерами:

    <li [+wf.classes+]>[+wf.linktext+]</li>

    Це шаблон, який використовується для пунктів меню. Відповідно [+wf.classes+] и [+wf.linktext+] - плейсхолдери, які будуть замінені сніпетом Wayfinder на використовуваний CSS-клас і назву пункта меню.

    На додаток до цих двох варіантів, чанк може бути використаний для зберігання деякої спеціальної інформації. Наприклад, ви можете зберігати набір параметрів для сніпета (напр. список файлів), який може бути сформований вручну або іншими засоби.

    Створення та редагування чанка

    Всі чанки знаходятся в наступному місці:

    Елементи → Чанки

    Щоб створити вам потрібно натиснути "Новий чанк", а щоб відредагувати існуючий чанк, достатньо натиснути посилання з його ім'ям.

    Призначення полів:

    Назва чанка - використовується для виклику чанка. Ви можете використовувати як англійську, так і російську, а також дефіс і підкреслення. Ви не можете використовувати пробіл!

    Опис - виводиться поруч із назвою чанка у загальному списку. Використовується лише для опису призначення чанка і не обов'язкове для заповнення.

    Створити категорію - дозволяє вибрати існуючу категорію, в якій буде розміщено чанк. Категорія дозволяє відокремити чанк від інших у загальному списку. Якщо жодна категорія не обрана, чанк потрапляє в загальну категорію "Без категорії".

    Нова категорія - якщо у списку існуючих категорій немає необхідної, ви можете створити її, просто написавши ім'я в цьому полі.

    Обмежити доступ до редагування чанка - якщо увімкнути прапорець, то ніхто, крім адміністраторів, не зможе редагувати цей чанк.

    Код чанка (html) - сюди розміщуємо код чанка.

    Редактор - дозволяє увімкнути візуальний редактор. За замовчуванням він вимкнений, але при необхідності ви можете включити. Є також редактори, які дозволяють підсвітити синтаксис.

    Збереження

    З основними кнопками все зрозуміло:

    Зберегти - створить новий чанк

    Відміна - поверне нас в список чанків без збереження результату.

    Зробити копію - з'являється лише в режимі редагування.

    Вилучити - з'являється лише в режимі редагування.

    Evolution дозволяє визначити більше дій після збереження чанка:

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

    Продовжити редагування - після збереження чанк знову відкриється для редагування. У цьому режимі зручно зробити невеликі зміни і перевіряти остаточний результат.

    Закрити - після збереження ми повернемося до загального списку чанків.

    Створення копії чанка

    Іноді є необхідним створити копію існуючого чанка. Зробити це дуже просто. Для цього необхідно зайти в редагування потрібного чанка та натиснути кнопку "Зробити копію".

    Після цього відкриється для редагування копія чанка. Копія відрізняється тим, що до її назви додається рядок "Duplicate of...". Вам залишається лише виправити назву на більш відповідну та внести інші необхідні правки.

    Копія створюється відразу після підтвердження, тому якщо ви натиснете скасування, то у списку чанків копія все одно залишиться.

    Видалення чанка

    Для видалення необхідно зайти в режим редагування відповідного чанка та натиснути кнопку Видалити. Увага! Чанки видаляються повністю та можливості їх відновити немає.

    Виклик чанка

    Існуючий чанк у шаблоні (або іншому чанку) викликається дуже просто. Для цього використовується конструкція у вигляді назви чанка оточеного фігурними дужками:

    {{НазваЧанка}}

    Виклик чанка з параметрами

    Починая з Evolution 1.4.0 в чанки можна передавати параметри.

    {{mychank? &firstparam=`value` &secondparam=`value2`}}

    Всередині чанка передані параметри можна отримати викликом однойменного плейсхолдера.

    [+firstparam+] и [+secondparam+]

    Варто пам'ятати, що назва чутлива до регістру (Mychank і myChank – різні чанки з погляду системи).

    Приклад шаблону із викликом чанка:

    <html>
        <head>
            {{Head}}
        </head>
        <body>
            {{menu}}
            <div class="outer">
                <div class="main">
                    {{content}}
                </div>
            </div>
        {{footer}}
        </body>
    </html>

    Цей приклад шаблону містить лише чанки, але на практиці в ньому також зустрічаються TV-параметри та сніпети. Тому не варто припускати, що чанки необхідно використовувати обов'язково і у великій кількості.

    API

    Для отримання вмісту чанка через API використовується метод getChunk.

    Приклад виклику:

    $chunk = $modx->getChunk('НазваЧанка');

    FAQ

    Я зробив чанк, але він не працює. Чому це може бути?

    Перевірте назву чанка. Воно не повинно містити пробіли, а регістр літер при виклику в точності повинен збігатися з назвою чанка.

    Чи можна викликати чанк у чанку?

    Так.