Если посмотреть в документации по добавлению свойства в умный фильтр (см. пример 4), то необходимо сделать всего лишь апдейт этого свойства с ключом SMART_FILTER = Y, но на практике все как всегда оказалось не так просто.
При чем ошибки не выдавало, и даже наоборот, писало что все окей, свойство обновлено. Но когда переходишь в детальный просмотр свойств, то злополучная галочка оказывалась не отмечена:
Пришлось залезть в исходники и посмотреть, что там не так. И в файлике /bitrix/modules/iblock/classes/general/iblockproperty.php нашел вот такую проверку:
То есть, для того чтоб, добавить свойство в "Умный фильтр", необходимо чтобы у инфоблока поле "SECTION_PROPERTY" было установленно в "Y". Для это добавим не большую проверку перед апдейтом:
Неверное решение, вы просто добавите или нет все свойства в умный фильтр. Для решения этой задачи для разделов каталога нужно использовать CIBlockSectionPropertyLink::Add().
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».