Готовые решения для MODX

Расширение extendParams - анонс
03.11.2012
Автор: alooze

Описание задачи


Сегодня хочу представить вашему вниманию еще одно расширение: extendParams (или проще - EP). Что это и зачем, кратко опишу ниже.

Если вам хотя бы однажды приходилось проектировать каталоги с неоднородной структурой, когда в каталоге существует несколько категорий, и в каждой категории товары отличаются по характеристикам от товаров в остальных категориях, то вы уже решали подобную задачу. Если же еще не сталкивались, то представьте, что вам нужно хранить в двух категориях разные характеристики для товаров: например категория телевизоры должна содержать данные о диагонали, типе экрана, еще чем-то; и категория пылесосы - мощность, объем, что-то еще.

Обычно в MODX хранение таких характеристик осуществляется в TV. В зависимости от аккуратности разработчика, TV с характеристиками товара могут визуально отделяться от TV, связанных с выводом товара на странице, а могут быть в одной куче. И тогда радости менеджера, который наполняет каталог, нет предела.

Второй нюанс такого хранения данных - лавинообразное распухание количества TV. Если для товара используется один шаблон, к которому привязаны все TV для всех категорий товаров, то уже после создания набора TV для, скажем, четырех категорий товаров, список полей для редактирования в админке сводит с ума колесико мыши.

Третий нюанс - после того, как вы сдали сайт, менеджеру либо невозможно добавить новую категорию с новыми TV, либо нужно изучать работу по настройке TV в админке сайта. Риск поломать сайт становится очень большим.


Варианты решений


  • 1) В лоб. Для всех товаров создаются несколько TV вида param1, param2... и помещайся в них, как хочешь. Плюсы - просто для разработчика, легко выводить в любом месте значение параметра. Минусы - название параметра вывести так просто не удастся, путаница при редактировании товара также обеспечена.


  • 2) В лоб с подвывертом. Для всех товаров создается один TV вида "текстовое поле". В него с более-менее сложным синтаксисом менеджеры пишут опции и параметры. Плюсы - наверняка есть, просто я сходу их не придумаю. Минусы - все остальное.


  • 3) Какие-то экзотические разовые способы.
  • 4) Неизменно вызывающе восторг расширение TvTable от Temus. Минусов нет, хотя есть одно неудобство. Плюсы - сплошной плюс.


Вот такой получился список. Перейдем к нашему варианту решения данной проблемы.


Описание расширения


Поскольку это только анонс, скриншоты пока не будут представлены. Только идеи, на которых построено решение.

Главная идея - на вид параметры остаются в точности такими же, как TV. Но при этом привязываются не к шаблону товара, а к его родителю. В терминах каталога - в каждой категории есть свой набор характеристик товара.

С точки зрения MODX все эти параметры - один большой TV (см. вариант 2 выше). С точки зрения пользователя - это обычный набор характеристик. Но для менеджера теперь нет необходимости посещать настройки TV с целью добавления параметров или значений параметров (если в TV был, например, выпадающий список).



(продолжение следует)

Метки