Свойства инфоблоков Битрикс: как навести порядок без поломки каталога

В старом каталоге на 1С-Битрикс свойства инфоблоков часто разрастаются бесконтрольно. Появляются дубли “Цвет”, “color”, “COLOR_REF”, “Оттенок”, часть свойств участвует в фильтре, часть пришла из 1С, часть больше нигде не используется. В результате каталог становится медленнее, админка неудобнее, а фильтр показывает лишнее.

Наводить порядок нужно осторожно. Свойство может быть связано с импортом, шаблоном, фильтром, торговыми предложениями, SEO или выгрузкой.

Сначала выгрузить список свойств

Перед изменениями нужно получить фактический список свойств инфоблока: ID, код, название, тип, активность, множественность, участие в фильтре.

SELECT ID, IBLOCK_ID, NAME, CODE, PROPERTY_TYPE, MULTIPLE, ACTIVE, SORT
FROM b_iblock_property
WHERE IBLOCK_ID = 5
ORDER BY SORT, ID;

Эту выгрузку полезно сохранить перед чисткой, чтобы понимать исходное состояние.

Найти дубли

Дубли могут быть по названию, по смыслу или по данным. Одинаковое название ещё не всегда означает дубль, но это хороший сигнал для проверки.

SELECT NAME, COUNT(*)
FROM b_iblock_property
WHERE IBLOCK_ID = 5
GROUP BY NAME
HAVING COUNT(*) > 1;

Также нужно смотреть CODE. У свойства должен быть стабильный понятный код. Пустые или случайные коды усложняют поддержку шаблонов.

Проверить использование в шаблонах

Перед удалением свойства нужно найти его код в проекте. Оно может использоваться в шаблоне каталога, фильтре, карточке товара, result_modifier.php или обмене.

grep -R "COLOR_REF" -n local/templates local/components bitrix/php_interface
grep -R "PROPERTY_COLOR" -n local/templates local/components

Если свойство используется в коде, удаление сразу сломает вывод. Сначала нужно заменить код на новое свойство или убрать зависимость.

Участие в фильтре

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

Для фильтра стоит оставить свойства, которые:

  • понятны покупателю;
  • часто заполнены;
  • имеют ограниченное количество значений;
  • реально помогают выбрать товар;
  • не дублируют друг друга.

Множественные свойства

Множественные свойства удобны, но усложняют выборки и фильтрацию. Если свойство фактически всегда содержит одно значение, стоит проверить, действительно ли нужна множественность.

Менять тип или множественность свойства на рабочем каталоге нужно крайне осторожно. Лучше сначала проверить данные и шаблоны на копии.

Свойства торговых предложений

Для SKU часть свойств должна быть у торговых предложений, а часть у основного товара. Например, цвет и размер часто относятся к предложению, а бренд и коллекция — к товару.

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

Импорт из 1С

Если свойства приходят из 1С, нельзя просто удалить их на сайте. При следующем обмене они могут появиться снова. Нужно менять правила выгрузки или сопоставление.

Перед чисткой нужно понять:

  • какие свойства созданы вручную;
  • какие приходят из 1С;
  • есть ли XML_ID;
  • какие свойства участвуют в обмене;
  • что будет при следующем импорте.

План чистки

Безопасный порядок:

  1. Сделать бэкап базы.
  2. Выгрузить список свойств.
  3. Найти дубли и неиспользуемые свойства.
  4. Проверить grep по коду проекта.
  5. Проверить участие в фильтре и шаблонах.
  6. Проверить связь с 1С.
  7. Сначала отключить свойство, а не удалять.
  8. Проверить каталог, фильтр, карточку и обмен.

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

Чек-лист

  • есть выгрузка всех свойств до изменений;
  • найдены дубли по названию и смыслу;
  • проверено использование кодов в шаблонах;
  • лишние свойства убраны из фильтра;
  • проверены свойства SKU;
  • понятно, какие свойства приходят из 1С;
  • перед удалением свойство сначала отключается;
  • после чистки проверены каталог и обмен.

Свойства инфоблоков — основа каталога в Битрикс. Чистить их нужно не как мусорную таблицу, а как связанную структуру, от которой зависят фильтр, карточка, импорт и SEO.

Комментарии (0)

Пока нет комментариев. Будьте первым!