Добавление полей для фильтрации в интерфейс модуля

Материал из Umicms
Версия от 12:07, 13 июня 2013; Mad grant (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 2.9

Задача

Необходимо добавить в модуль, например "Каталог", к существующим полям для фильтрации новые поля, которых нет в списке на добавление:


Filterpage1.png


А в карточке товара они присутствуют:


Filterpage2.png


Решение

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

Для этого, посмотрите как называется тип данных, в блоке "Основный параметры", если там указан "объект каталога":


Filterpage3.png


то используется системный тип "объект каталога", а если указан любой другой тип - используется тип, дочерний к типу "объект каталога".

Решение, если для объектов каталога используется только один тип (системный "объект каталога")

Если используется системный тип, то нужно:

  • перейти в модуль "Шаблоны данных"
  • найти тип "объект каталога"
  • открыть его на редактирование
  • найти нужное поле, в нашем случае "вес" и "количество подключений к ТВ"
  • включить редактирование этих полей
  • отметить галочку "фильтруемое":


Filterpage4.png


После этих действий поле можно будет добавить в фильтры модуля "Каталог".

Решение, если для объектов каталога используются собственные типы, дочерние к системному

Если поля, которые нужно вывести для фильтрации, содержатся в типе, дочернем к системному типу "объект каталога", то нужно:

  • создать в типе "объект каталога" такую же группу полей(в которой содержится нужно нам поле), как в дочернем типе
  • создать в данной группе нужное для фильтрации поле, с такими же параметрами, как в дочернем типе
  • отметить его как "фильтруемое"

После этих действий поле можно будет добавить в фильтры модуля "Каталог":

все параметры в создаваемых группах и полях в системном типе должны полностью повторять группы и поля и дочернем типе


Filterpage5.png


Также, нужно упомянуть, что, если Вы создали в системном типе полностью такое же поле, как в дочернем, то это поле "склеится", то есть, если Вы удалите его в системном типе, то оно удалится и у дочерних типов, обратное неверно.


Если рекомендации непонятны или не помогли - обращайтесь в Службу Заботы.