Зачем в MODX шаблоны?
У нас зашёл спор про шаблоны в MODX!
Я утверждаю, что на каждую отдельную сущность ресурса нужно делать отдельный шаблон, например я делаю шаблоны для «Главной», «Категории товаров», «Карточка товара», «Корзина», «Категория новостей», «Одна Новость». Это всё разные шаблоны.
А мой коллега утверждает, что в MODX достаточно одного шаблона. А контент можно выводить отталкиваясь от условия, например если class_key равен 'msCategory', то показываем вёрстку категории товаров, если class_key равен 'msProduct', то вёрстка карточки товаров.
Если id ресурса равен 75, то выводить категорию с новостями. И так далее…
Дайте развёрнутый ответ кто из нас прав и зачем в MODX шаблоны?!
Холивар!
Я утверждаю, что на каждую отдельную сущность ресурса нужно делать отдельный шаблон, например я делаю шаблоны для «Главной», «Категории товаров», «Карточка товара», «Корзина», «Категория новостей», «Одна Новость». Это всё разные шаблоны.
А мой коллега утверждает, что в MODX достаточно одного шаблона. А контент можно выводить отталкиваясь от условия, например если class_key равен 'msCategory', то показываем вёрстку категории товаров, если class_key равен 'msProduct', то вёрстка карточки товаров.
Если id ресурса равен 75, то выводить категорию с новостями. И так далее…
Дайте развёрнутый ответ кто из нас прав и зачем в MODX шаблоны?!
Холивар!
Комментарии: 7
Оба правы по-своему.
В первом случае нет смысла на каждый чих создавать шаблон. Например, у меня есть шаблон «Категория товаров», в котором выводятся товары категории. И есть страница «Специальные предложения», которая внешне ничем не отличается от страницы категории, зачем для нее заводить отдельный шаблон?
Во втором случае не получится использовать tv-параметры или плагины, которые привязаны к шаблону. Да и разбираться потом в куче условий тоже не очень. Хорошо если условия не сделаны на модификаторах, как нередко бывает.
В первом случае нет смысла на каждый чих создавать шаблон. Например, у меня есть шаблон «Категория товаров», в котором выводятся товары категории. И есть страница «Специальные предложения», которая внешне ничем не отличается от страницы категории, зачем для нее заводить отдельный шаблон?
Во втором случае не получится использовать tv-параметры или плагины, которые привязаны к шаблону. Да и разбираться потом в куче условий тоже не очень. Хорошо если условия не сделаны на модификаторах, как нередко бывает.
Поддерживаю.
В MODx «из коробки» реализована привязка TV-параметров к шаблонам, это основная причина разделять шаблоны по «отдельным сущностям ресурсов».
Также я бы отметил в пользу разделения на шаблоны:
— хоть незначительное, но увеличение времени генерации страницы с каждым новым условием в шаблонах/чанках, что плохо
— все равно большую гибкость в настройках вывода, к примеру у вас 2 разных внешних вида страницы «товар», лежащие в одной и той же категории, имеющие один и тот же class_key и т.п.
Но есть и минусы, например по-умолчанию в MODx дочерние документы создаются с таким же шаблоном, что и родитель. И если родитель страницы Новости будет в шаблоне «категория новостей», то и дети будут такие же. Мы решаем это плагином childDefaultTemplate, но да, нужно вручную в админке 1 раз это нстроить. Минусом считаю из-за того, что функционал «не коробочный» и теоретически можно забыть расставить настройки, из-за чего на production-сайте девочка-контент-менеджер не разберется с выбором нужного шаблона и получит неожаданно другой вид страницы во фронтенде.
В MODx «из коробки» реализована привязка TV-параметров к шаблонам, это основная причина разделять шаблоны по «отдельным сущностям ресурсов».
Также я бы отметил в пользу разделения на шаблоны:
— хоть незначительное, но увеличение времени генерации страницы с каждым новым условием в шаблонах/чанках, что плохо
— все равно большую гибкость в настройках вывода, к примеру у вас 2 разных внешних вида страницы «товар», лежащие в одной и той же категории, имеющие один и тот же class_key и т.п.
Но есть и минусы, например по-умолчанию в MODx дочерние документы создаются с таким же шаблоном, что и родитель. И если родитель страницы Новости будет в шаблоне «категория новостей», то и дети будут такие же. Мы решаем это плагином childDefaultTemplate, но да, нужно вручную в админке 1 раз это нстроить. Минусом считаю из-за того, что функционал «не коробочный» и теоретически можно забыть расставить настройки, из-за чего на production-сайте девочка-контент-менеджер не разберется с выбором нужного шаблона и получит неожаданно другой вид страницы во фронтенде.
Можно еще ограничить доступные для выбора шаблоны через контроль доступа, чтобы пользователи меньше путались.
Да я пока гуглил где мы давным-давно взяли плагин, нашел решение, доступное в настройках из коробки. Уже поставил в план задач «обновить базу знаний» по кастомизации форм админки.
Возвращаясь к теме, вышесказанное еще одно подтверждение, что использовать встроенный функционал полезно, вместо того чтобы «наворотить» подобный функционал собственными IF-ами в шаблонах и чанках.
Возвращаясь к теме, вышесказанное еще одно подтверждение, что использовать встроенный функционал полезно, вместо того чтобы «наворотить» подобный функционал собственными IF-ами в шаблонах и чанках.
Истина, как всегда, посередине ))
Я обычно пляшу от удобства дальнейшей работы заказчика в админке.
Если требуются какие-либо особые доп. поля, или хитрое оформление редактора и т. д., то выношу в отдельный шаблон.
Таким образом для стандартного магазина получается «Главная страница», «Стандартная страница», «Категория», «Товар», «Новость, публикация» ну еще пара служебных.
Корзину, поиск и все страницы, которые не требуют своих TV или какой-то особой верстки, делаю на «Стандартной странице» с условиями (обычно по ID) на Fenom.
Я обычно пляшу от удобства дальнейшей работы заказчика в админке.
Если требуются какие-либо особые доп. поля, или хитрое оформление редактора и т. д., то выношу в отдельный шаблон.
Таким образом для стандартного магазина получается «Главная страница», «Стандартная страница», «Категория», «Товар», «Новость, публикация» ну еще пара служебных.
Корзину, поиск и все страницы, которые не требуют своих TV или какой-то особой верстки, делаю на «Стандартной странице» с условиями (обычно по ID) на Fenom.
По-моему достаточно интересный вопрос. Сам стараюсь делать не больше 5-7 основных шаблонов.
Но были на поддержке сайты с 15-30 шаблонами.
Мне кажется, можно даже статью хорошую написать про правильную организацию шаблонов в MODX.
Но были на поддержке сайты с 15-30 шаблонами.
Мне кажется, можно даже статью хорошую написать про правильную организацию шаблонов в MODX.
Например для магазина я делаю Главная страница, страница категорий, страница товара, Корзина(почему отдельный, вывожу там например акции ну или еще что нить, что бы завлечь покупателя.), ну служебные и личный кабинет
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.