Из-за этого получается пустая выборка. Напишите в ТП Битрикса о проблеме.
Временное решение. Выбрать товары по логике ИЛИ, а потом в цикле отобрать товары, у которых одновременно есть указанные значения. Взять ID полученного множества товаров и подставить в фильтр
Когда возникают проблемы с определением правильного формата выгрузки каталога, я делаю экспорт инфоблока в XML-файл (http://site.com/bitrix/admin/iblock_xml_export.php) и смотрю правильный формат выгрузки нужного свойства или поля товара.
Нельзя так делать. Вы тем самым убрали последний пункт в хлебных крошках. В других разделах сайта он может быть нужен. В компоненте news, как уже сказали, есть специальный параметр для отключения вывода названия элемента в ХК.
Для товаров раздела, где стоимость выводится за квадратный метр, нужно сразу указывать цену в специальной валюте. И для этой валюты указать специальный формат вывода (# руб/м2). Делать это желательно либо сразу при выгрузке из 1С (если такая есть), либо при помощи обработчиков сохранения цены OnBeforePriceAdd/OnBeforePriceUpdate подменять валюту. Если же задание цены идет руками, то сразу выбирать правильную валюту. В шаблоне стоимость нужно выводить так:
$arItem["MIN_PRICE"]["PRINT_VALUE"] - отформатированная цена без скидки
$arItem["MIN_PRICE"]["PRINT_DISCOUNT_VALUE"] - отформатированная цена со скидкой
В этом случае никаких проверок $arResult['IBLOCK_SECTION_ID'] в шаблоне не будет.
То есть при задании даты всегда придется указывать точную дату. А вот при выводе формат можно регулировать. Если вас данный подход не устраивает, всегда можно написать своё свойство элемента инфоблока.
Если брэнд - это элемент инфоблока, то все просто. Кидаете в раздел site.com/brands/ компонент bitrix:news, выводящий брэнды. На детальной странице бренда (файл detail.php в шаблоне комплексного компонента bitrix:news) формируете фильтр по ID бренда и выводите список товаров по этому фильтру с помощью компонента bitrix:news.list или bitrix:catalog.section.
Александр Вареников, вы привязываете свойства к разделам на вот этих вкладках? http://i.imgur.com/idV5wEd.png http://i.imgur.com/g4nobUW.png Если да, то свойства в этом случае "отвязываются" от инфоблока и "привязываются" к разделу только в рамках работы умного фильтра. В карточке товара "привязанное" только к определенному разделу свойство продолжает так же отображаться и для других товаров. Это я говорю про штатную форму редактирования товара. Возможно у вас для инфоблока указана кастомизированная форма редактирования товара, где список свойств выводится в соответствии с привязками к разделам. Возможно я не знаю о какой-то дополнительной настройке, которая позволяет заставить штатную форму выводить список свойств соответственно привязкам к разделам. Прошу вас написать здесь о такой возможности. Я не нашел.
В любом случае свойства ВСЕГДА остаются привязаны к инфоблоку. Указанный вами класс CIBlockSectionPropertyLink работает с MySQL таблицей `b_iblock_section_property`, а сами свойства хранятся в `b_iblock_property`. Другими словами привязка к разделам - это лишь косметика. Архитектурно же свойства привязаны к инфоблоку.
Дык и правильно. У вас же срабатывает правило "RULE" => "ELEMENT_CODE=\$1", которое и добавляет параметр ELEMENT_CODE в GET. Если хотите от него избавиться, то перед компонентом просто удалите его.
Код
$elementCode = $_REQUEST["ELEMENT_CODE"];
unset($_REQUEST["ELEMENT_CODE"]);
unset($_GET["ELEMENT_CODE"]);
// тут код/компонент использующий $elementCode
Александр Вареников написал: Нет, вы делаете не правильно. Вам нужно весь каталог разбить на разделы, логически. Если есть производитель, то его вынести в справочник и привязывать к товарам через свойство. А остальные свойства привязать к разделам. Посмотрите как это сделано в статье .
Не вводите человека в заблуждение. Свойства привязываются только к инфоблоку. То, о чем говорится в приведенной вами статье, относится только к умному фильтру и отображению в нем свойств в разных разделах.
При большом количестве свойств есть два типа реализации:
Разбиение всего каталога на несколько инфоблоков (по типам товаров).
У меня было дело положил сервер бесконечной рекурсией Еще может в шаблоне/компоненте каком-то есть тяжелые вычисления. Мимо кэша - сервер вешает, потом когда из кэша читается - все нормально работает.
К сожалению сквозных выборок при текущей реализации API сделать невозможно (идея). Поэтому придется в цикле для каждого инфоблока выбрать уникальные значения свойства и потом их сгруппировать средствами PHP.