Структура большого проекта
Вопрос к любителям порядка и гармонии. Интересно было бы узнать: а как вы организуете структуру крупных проектов в MODX? Вопрос не касается ресурсов, интересуют элементы. Как приходите к единообразию сущностей? Как именуете поля, шаблоны и чанки и что в них выносите? Часто сталкиваюсь либо с большим количеством чанков вложенных друг в друга, либо с малой гибкостью и большим количеством дублирования кода.
Комментарии: 7
Чанки раскладываю по категориям:
— Общие (head, header, footer)
— Формы
— Каталог
— Корзина
— Комментарии
— и т.д.
Имена чанкам даю типа: cart.Outer, cart.Row, contactForm.Form, contactForm.Email, catalog, catalog.Brands, catalog.Brands.Row, catalog.Row. Т.е. модуль<точка>суть.
Сниппетов, как правило, меньше чем чанков, поэтому по папкам редко разбиваю.
TV по папкам: Seo, Разметка, Свойства ну и т.д.
— Общие (head, header, footer)
— Формы
— Каталог
— Корзина
— Комментарии
— и т.д.
Имена чанкам даю типа: cart.Outer, cart.Row, contactForm.Form, contactForm.Email, catalog, catalog.Brands, catalog.Brands.Row, catalog.Row. Т.е. модуль<точка>суть.
Сниппетов, как правило, меньше чем чанков, поэтому по папкам редко разбиваю.
TV по папкам: Seo, Разметка, Свойства ну и т.д.
Давать имена чанкам через точку понравилось больше всего, читается заметно проще и в списке найти легче.
Но дико раздражает, что нет быстрого поиска чанка/сниппета по имени! Попробуй все категории пересмотри и найди нужный.
Ничего, скоро будет — в 2.3 поиск будет сразу по всему, что есть с фильтрацией во время набора:
Круто, ждем! А совместимость будет? Текущие сайты можно будет обновить до 2.3? Не очень слежу за этим =)
Конечно)
Предпочитаю писать чанки в @INLINE — иначе будет сущая путаница — открыл шаблон, потом ищешь чанк, открываешь новое окно — много лишних действий, предпочитаю инлайн чанки. Благо pdotools позволяет.
Стандартные чанки повторяющиеся в шаблоне — их как правило не более 10.
Сниппеты новые сейчас почти не создаю — всю выборку опять же можно провести через pdoresources с leftjoin. Любую логику выборки можно описать в параметрах сниппета. Только специфические сниппеты, не касающиеся выборок — но их как правило не так много.
Стандартные чанки повторяющиеся в шаблоне — их как правило не более 10.
Сниппеты новые сейчас почти не создаю — всю выборку опять же можно провести через pdoresources с leftjoin. Любую логику выборки можно описать в параметрах сниппета. Только специфические сниппеты, не касающиеся выборок — но их как правило не так много.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.