Сейчас вспомнил - у меня был заказчик, который скриншотил страничку и накладывал слой на макет в фотошопе, делал его прозрачными и искал не совпадения. Не долго был конечно...
babarun: И что? Причем тут текущий раздел?
Во-первых у вас это вызов из комплексного компонента, а не чистое использование.
Во-вторых - раздела инфоблока - да, безусловно, хотя и не обязатально. Параметр "SECTION_ID" вы вполне можете оставить пустым.
В-третьих что мешает засунуть туда любое значение?
Причем тут раздел сайта? Фильтр не ориентируется на url или что-то подобное.
Обычные фильтры тоже не будут фильтровать результат поиска. В комменте к ответу выше описал почему.
Нет, не выйдет. В поиск попадают не сами элементы, а айтомы поискового индекса, которые содержат привязки к элементам по id.
Что делает смарт фильтр? Он отбирает id в компоненте каталога. Но ведь результат поиска у вас выводится компонентом поиска и id там именно его айтомов.
Короче самый простой путь реализовать:
Скрыть компонент поиска вообще. Из него получать id товаров которые он нашел, эти id передавать на вход компонента каталога в обычном фильтре, и в нем уже использовать смартфильтр.
В первом случае скорее всего у вас компонент в кэшируемой области. Хотя и другие причины могут быть.
Это как раз один из главных недостатков битрикс - снаружи кажется что все сделать очень просто и везде отличные простые инструменты, но как только возникает малейшая проблема выясняется что надо знать все тонкости работы всех модулей, причем желательно сразу.
Вторая ситуация выглядит странной. Но тут не понятно что за модуль. Не хватает деталей.
В целом из своего опыта скажу, что много раз сталкивался с косяками ядра битрикс, но каждый раз они косались очень специальных вещей и при обычном использовании вряд ли взывали бы проблемы у обычных пользователей.
jcmvbkbc: так имелась ввиду эта видюшка? У меня дочь 9 летняя после нее разобралась. Так что если этим гуманитариям и после этого не понятно - только бить.
Да, этот метод может вернуть все свойства. И ксатит список элементов. Почитайте доки по ссылке.
Вам понадобится arSelect примерно такой array('ID', 'PROPERTY_BREND') если вы хотите получить ID элемента и свойство BREND и arFilter('ID' => $PRODUCT_ID) где $PRODUCT_ID - это id элемента инфоблока, чтобы получить список из одного элемента, нужного вам.
Ну вот видите. У вас производитель хранится в свойстве BREND, а CCatalogProduct:: будут извлеткать только значения свойств с кодом начинающимся с CML2_
Просто у вас у товаров два свойства Производитель - BREND и CML2_MANUFACTURER. И реально производителя 1C пихает в BREND, поэтому его и нет в результатах CCatalogProduct.
CCatalogProduct не работает с к элементов инфоблока - он работает с элементом каталога - это несколько другая абстракция, объединяющая поля элемента инфоблока, свойства CML2_MANUFACTURER и подобные, а так же ценовое предложение с которым связан элемент.
Обратите внимание такие вещи как цена например не являются свойствами элемента инфоблока. Цена это поле ценового предложения (иной сущности) которое связано с Элм.ИБ но его свойством не является. Как-то так.