Fenom MODX - Документація та приклади
Всім привіт, дорогі читачі мого блогу!
Я вже давно нічого не писав у свій блог, у зв'язку з тим, що маю замовлення + навчання. Взагалі часу не так багато.
Сьогодні я хочу розповісти про шаблонізатор під назвоюFenom, навести приклади. Може хтось уже активно ним користується, і думаю, що знайде щось нове і корисне в цій статті.
Давайте спочатку розберемося, що собою являєFenom.
Fenom - це швидкий і зручний шаблонизатор, який дуже схожий зі Smarty (у плані синтаксису), але є набагато кращим! З його допомогою Ви можете прискорити розробку, час на виконання запитів, скоротити кількість чанків, використовувати цикли прям у чанках/шаблонах та багато іншого
MODX Fenom з'явився в 2015 році, з виходом оновлення pdoTools 2.0. Тепер коли ви встановлюєте pdoTools,парсер Fenom вже активний, але не обробляє сторінки та шаблони сайту
Для того, щобвключити fenom (обробку сторінок та шаблонів сайту), необхідно активувати параметрpdotools_fenom_parser у системних налаштуваннях.
Можете подивитися офіційну документацію, а я розглядатиму синтаксис щодо MODX Revolution
Отже, як я вже казав, синтаксис досить простий, замість звичних подвійних квадратних дужок MODX [[ ]] і Fenom використовуються одинарні фігурні дужки
Щоб використовувати більш складні функції, pdoParser має службову змінну , яка дає безпечний доступ до деяких змінних і методів системи.
Ігнорування коду
Так як уFenom використовуються фігурні дужки, то, можливо, виникне така проблема, що не будуть виконуватися якісь скрипти/стилі. Для цих випадків існує зміннаignore. Для того,щоб вимкнути обробку Fenom необхідно просто обернути скрипти/стилі в цей тег:
Плейсхолдери з точкою або тире
У MODX як ви знаєте існують TV параметри у ресурсу або плейсхолдери з точкою (дані масивів). Так як вони не відповідають правилам найменування, то Fenom для доступу до плейсхолдерів і TV існують службова змінна
Як запустити сніпет в Fenom?
Я знаю два способи, як запустити сніпет в Fenom, який використовувати, вирішувати тільки Вам.
Якщо потрібно викликати pdopage без параметрів: