[addData] Добавление дополнительных данных
Компонент addData для MODX позволяет добавлять дополнительные данные к ресурсу. Если взять магазин, для примера, то к товару можно легко добавлять требуемые характеристики. При желании эти характеристики можно сгруппировать и дать описание каждой характеристики, который будет отображаться в Popover при наведении (используется Bootstrap3).
Для того чтобы у ресурса появился таб, вам необходимо в Приложения/Дополнительные данные указать все возможные характеристики, которые вы будете использовать. Ну а на странице ресурса выбирать необходимые, именно для этого документа с указанием значения.
Изначально вкладка появляется у всех ресурсов, включая контейнеры (вдруг кому-то надо), но можно в системной настройке adddata_templates указать ID шаблонов через запятую. И тогда вкладка будет только у ресурсов, которые используют указанные шаблоны.
В общем, во фронте должно получится примерно так:
Как видно, реализовано вкладками, где в первой вкладке описание (поле content ресурса), во второй характеристики товара. На третью не обращайте внимание — компонент урезан.
Запоминание и управление историей вкладок — есть.
Желающие задонатить и поддержать проект — буду благодарен.
Спасибо!
upd. Компонент в modstore
Для того чтобы у ресурса появился таб, вам необходимо в Приложения/Дополнительные данные указать все возможные характеристики, которые вы будете использовать. Ну а на странице ресурса выбирать необходимые, именно для этого документа с указанием значения.
Изначально вкладка появляется у всех ресурсов, включая контейнеры (вдруг кому-то надо), но можно в системной настройке adddata_templates указать ID шаблонов через запятую. И тогда вкладка будет только у ресурсов, которые используют указанные шаблоны.
В общем, во фронте должно получится примерно так:
Как видно, реализовано вкладками, где в первой вкладке описание (поле content ресурса), во второй характеристики товара. На третью не обращайте внимание — компонент урезан.
Запоминание и управление историей вкладок — есть.
Параметры
- &cssBootstrap — Путь до файла со стилями Bootstrap3, если включен параметр &hookBootstrap.
- &jsBootstrap — Путь до файла со скриптами Bootstrap3, если включен параметр hookBootstrap.
- &hookBootstrap — Если Да, то будут подключены стили и скрипты Bootstrap3 (для popover и tab). По умолчанию: Нет
- &frontendCss — Путь до файла со стилями.
- &frontendJs — Путь до файла со скриптами.
- &tplOuter — Чанк оформления всего блока вкладок. По умолчанию addDataOuter
- &tplTab — Чанк оформления каждой вкладки. По умолчанию addDataTab
- &tplContent — Чанк оформления содержимого вкладки. По умолчанию addDataContent
- &tplTableOuter — Чанк-обёртка таблицы характеристик. По умолчанию addDataTableOuter
- &tplTable — Чанк оформления одного пункта таблицы. По умолчанию addDataTable
Примеры
Собственно после простого вызова сниппета addData вы получите результат, как на картинке выше))[[addData]]
Компонент писался для своего сайта, делюсь с сообществом.Желающие задонатить и поддержать проект — буду благодарен.
Спасибо!
upd. Компонент в modstore
Поблагодарить автора
Отправить деньги
Комментарии: 20
А где компонент?!
Либо мне пора протирать монитор?
Либо мне пора протирать монитор?
На модерации, будет позже.
Интересное решение, скорее хочется опробовать:)
Очень-очень жду! Мне почти в каждый третий проект такой компонент нужен )
А как эти данные хранятся? Прям в таблице modx_site_content создаются новые поля? Или в отдельной таблице? Или в поле properties в виде JSON?
В своих таблицах.
На каждую пару параметр-ресурс одна запись в таблице? Или все параметры, относящиеся к одному ресурсу находятся в одной строке?
Да, параметр-ресурс.
Перед донатом, конечно, хотелось бы посмотреть. Ждем-с.
Данные можно будет использовать в mfilter?
Ну через join скорее всего — да
А чем не устроили характеристики minishop? Кроме того что нельзя задать описание для характеристики
Ты же сам ответил уже на свой вопрос))
Да и потом addData не привязан к miniShop2, он работает с любыми ресурсами.
Да и потом addData не привязан к miniShop2, он работает с любыми ресурсами.
Характеристика в Minishop — это обычный TV?
А работа с mFilter2 не проверялась?
Спасибо!
Отличное решение!
Добрый день!
Подскажите, в вкладке есть кнопка импорт. Но при нажатие на нее ничего не происходит.
В журнале:
Спасибо!
Подскажите, в вкладке есть кнопка импорт. Но при нажатие на нее ничего не происходит.
В журнале:
[2018-03-07 12:07:46] (ERROR @ C:\OpenServer\domains\sot33.ru\core\xpdo\xpdo.class.php : 644) Could not load class: addDataDesc from mysql.adddatadesc.
[2018-03-07 12:07:46] (ERROR @ C:\OpenServer\domains\sot33.ru\core\xpdo\xpdo.class.php : 644) Could not load class: addDataDesc from mysql.adddatadesc.
[2018-03-07 12:07:46] (ERROR @ C:\OpenServer\domains\sot33.ru\core\xpdo\xpdo.class.php : 592) No class specified for loadClass
[2018-03-07 12:07:46] (ERROR @ C:\OpenServer\domains\sot33.ru\core\xpdo\xpdo.class.php : 762) ::getSelectColumns() is not a valid static method.
[2018-03-07 12:07:46] (ERROR @ C:\OpenServer\domains\sot33.ru\core\components\adddata\model\adddata\adddata.class.php : 51) PHP warning: Invalid argument supplied for foreach()
Не пойму в чем причина.Спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.