S6 Studio

 

Инфоблоки в 1С-Битрикс - наследование свойств разделов

Bitrix  Инфоблоки  Разделы  Свойства  Наследование  Оптимизация  Решение  • Егор Ступников • 12 октября 2013 • Без комментариев

 

Предлагаю рассмотреть достаточно нетрадиционную задачу по меркам веб-разработок.

Допустим, на сайте 1С-Битрикс есть большой инфоблок с иерархической структурой разделов. У разделов есть некоторые свойства.

Также известно, что если у раздела значение данного свойства не установлено, то оно должно наследоваться от вышестоящего по иерархии раздела, где свойство установлено. Самым подходящим примером такого свойства будет наценка или скидка на товары раздела.

Решение "В лоб" написать может любой разработчик на Битрикса, мало-мальски знающий API работы с инфоблоками. Но что если в нашем инфоблоке несколько десятков тысяч элементов и не одна сотня разделов? Тогда очевидно, что решение "в лоб", рассчитывающее иерархически значение свойства для каждого раздела в отдельности, будет очень сильно грузить базу из-за большого количества запросов.

Данную задачу вполне можно решить, используя всего один запрос к базе. Как? Решение под катом!

Читать полностью

 

Поиск по тегу «Свойства»

Самые популярные

К прочтению обязательно