Как подружить twig шаблоны с MODX?
У меня есть вёрстка на gulp-twig. Есть партия шаблонов с расширением twig — специально рефакторил всё с pug чтоб шаблонизатор дружил с сервером — не могу разобраться как его активировать. у меня все инклуды прописаны на front-end. По идее достаточно было в шаблон указать «статический» и прописать путь до index.twig. Только чёт не работает.
Я вкурил мануал компонента — написана какая-то дичь:
Помогите пожалуйста, завести шаблонизатор
UPD
Попробовал добавить indexController.php с содержимым return $modx->twig->render('index.twig'); по соседству с index.twig… Не работает… Нашёл templates с base.twig и index.twig — в папке с компонентом. Видимо нужно указать мой static/src вместо templates вот только где…
Нашёл и поменял $template_dir = 'static/src'; в плагинах — modxTwig. Тоже не работает…
Я вкурил мануал компонента — написана какая-то дичь:
Create new template for example name it index, check 'Is Static' and name indexController.php.Мало того, что автор просит указать статический путь к .php-файлу в шаблон, он ещё и просит произвести вызов плагина через $modx->twig->render('index.twig'). В шаблонах ведь не исполняется php-код… У меня небольшое негодование, к тому же с php я не особо.
In Template code (html) put this code:
return $modx->twig->render('index.twig');
Помогите пожалуйста, завести шаблонизатор
UPD
Попробовал добавить indexController.php с содержимым return $modx->twig->render('index.twig'); по соседству с index.twig… Не работает… Нашёл templates с base.twig и index.twig — в папке с компонентом. Видимо нужно указать мой static/src вместо templates вот только где…
Нашёл и поменял $template_dir = 'static/src'; в плагинах — modxTwig. Тоже не работает…
Комментарии: 9
Судя по описанию плагина нужно создать шаблон, поставить галочку Is Static (но не указывать файл), назвать шаблон indexController.php, в коде шаблона указать return $modx->twig->render('index.twig');
Далее назначить шаблон главной странице и все должно работать.
Только там вызовы сниппетов и пр. совсем другие. Например {{ snippet('mysnippet') }}
Далее назначить шаблон главной странице и все должно работать.
Только там вызовы сниппетов и пр. совсем другие. Например {{ snippet('mysnippet') }}
Во-первых — в код шаблонов / чанков не исполняется php — это зоны вывода инфы — ячейка базы и ничего больше.
Во-вторых — нельзя назначить файл статичным и оставить поле пути пустым. Если бы всё работало по инструкции — у меня бы не было вопросов.
Во-вторых — нельзя назначить файл статичным и оставить поле пути пустым. Если бы всё работало по инструкции — у меня бы не было вопросов.
Вот такой еще есть — Twiggy
Та я сокрее уже тогда smarty применю. Какой-то он более частоиспользуемый и по возможностям не хуже. Осталось не полениться отрефакторить шаблон.
Тогда уж Fenom, он в комплекте идет с pdoTools и включается одной галочкой в настройках, и по синтаксису очень похож на Smarty.
Вообще ща постараюсь в краци передать почему я решил подзапариться и попробовать статику.
Нужно это поскольку я пишу интерфейсы на gulp по БЭМ. Каждый блок — отдельный файл. Сейчас у меня нормально закидываются модули в базу и всё работает ок. Но масштабирование по итогу таково, что перенос только стилей и скриптов проходит простым перезаливом. Чтоб менять разметку приходится запоминать что поменялось и руками копипастить в базу. pug рендерит мне html — каждый новый модуль — копипаста. А структура шаблонов в чанках равно такая-же как у меня в проекте с gulp. Вот я и подумал — надо найти шаблонизатор, чтоб и на gulp работал, и на MODX. Самое главное — вызов чанков. В дефолтном шаблонизаторе MODX все инклуды — запрос к базе (если даже статика — запрашивается путь), а в gulp-pug или gulp-twig путь пишется сразу после include. Отсюда несостыковки в шаблонизаторе. Надеюсь smarty поправит. Пока сделаю через базу ибо люди ждут софтину
Нужно это поскольку я пишу интерфейсы на gulp по БЭМ. Каждый блок — отдельный файл. Сейчас у меня нормально закидываются модули в базу и всё работает ок. Но масштабирование по итогу таково, что перенос только стилей и скриптов проходит простым перезаливом. Чтоб менять разметку приходится запоминать что поменялось и руками копипастить в базу. pug рендерит мне html — каждый новый модуль — копипаста. А структура шаблонов в чанках равно такая-же как у меня в проекте с gulp. Вот я и подумал — надо найти шаблонизатор, чтоб и на gulp работал, и на MODX. Самое главное — вызов чанков. В дефолтном шаблонизаторе MODX все инклуды — запрос к базе (если даже статика — запрашивается путь), а в gulp-pug или gulp-twig путь пишется сразу после include. Отсюда несостыковки в шаблонизаторе. Надеюсь smarty поправит. Пока сделаю через базу ибо люди ждут софтину
Для gulp есть gulp-smarty, а для modx — modxSmarty. Наверное их можно совместить.
в код шаблонов / чанков не исполняется phpВ феноме, например, это можно включить настройками, мб у вас как-то так же?
Create new template for example name it index, check 'Is Static' and name indexController.php.Судя по всему, автор компонента использовал наш phpTemplates. Он как раз и позволяет превратить статические MODX-шаблоны в исполняемые php-файлы. Кстати, давно уже не требуется для этого тип документа менять, modDocument тоже нормально отработает.
In Template code (html) put this code:
return $modx->twig->render('index.twig');
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.