Ганин Роман

Ганин Роман

Был в сети 18 сентября 2019, 02:48
Заказы не принимаю
MODX — не CMS в вашем классическом понимании, а CMF (Content Manage Framework). Вы, неверное, заметили, что после установки, MODX не предоставляет вам ни-че-го из привычных по опыту других CMS инструментов: шаблонов, форм регистрации/авторизации и обратной связи, галерей, слайдеров и прочей мишуры. Это лишь набор инструментов. Воспринимайте это как надстройку над PHP с той лишь разницей, что сложные вещи делать станет значительно проще. Но никто не собирается делать это за вас. Всё в ваших руках и под полным вашим контролем.
Начало разработки — за пределами MODX. Вёрстка (БЭМ) шаблонов, чанков и страниц в Sublime Text 3 с использованием Gulp-задач для автокомпиляции с использованием пре- и постпроцессоров (ускоряют разработку в 4-5 раз), зависимости: bower, для UI-тестов адаптивности: BrowserSync. Минификация стилей и скриптов на клиенте (прекратите вешать эту задачу на MinifyX/сервер!). Кодстайл: CSScomb и JSCS + JSLint. В дальнейшем можно настроить автоматическую выгрузку по SFTP скомпилированных файлов прямо на сервер. Шаблонизация на клиенте легко настраивается с помощью gulp-rigger, gulp-file-include или gulp-include-source. За счет вотчеров скорость просто реактивная. Особенно удобно, если монитора два и больше — в одном мониторе код проекта, в остальных — мгновенный результат (страница обновляется быстрее, чем я успеваю перевести взгляд с одного монитора на другой или переключиться на новый раб. стол).
Инициализация сервера: ansible, установка MODX: Gitify, импорт настроек: Teleport. Импорт уже подготовленных чанков, tpl-ек занимает минуты, нет необходимости заниматься «клавадрочерством» с Ctrl+Tab (переключиться на фронтенд-вкладку), Ctrl/Cmd+R (обновить страницу), чтобы просмотреть результат — всё уже оттестированно на этапе вёрстки. Остаётся только настроить магию сниппетов и оформить Custom Forms. Дальше — оверлокинг с XDebug, debugParser, BloodLine и Chrome DevTools.
Парадигма MODX подразумевает, что вы работаете с сайтом из админки MODX, которая разруливает все зависимости. В этом случае никаких проблем не возникает (если вы все делаете правильно).
Если же вы обращаетесь к внешнему файлу, MODX пор него ничего не знает. Подключите через require_once зависимости — и вы сможете работать с сущностями MODX извне.
Согласен, актуальна. Правда, основы уже давно описаны, а использование современных инструментов деплоя для подавляющего большинства модиксеров чуждо. Но популяризировать надо, это факт. Поможешь?
Я, кстати, как раз сейчас бьюсь над серверным js-шаблонизатором — хочу перенести логику чанков в handlebears-подобный шаблонизатор, чтобы можно было использовать чанки уже на этапе вёрстки и собирать это gulp'ом и для прототипа, и для продакшена сразу. Получается единая точка входа для вёрстки. Пока не получается, так что обхожусь rigger'ом.