Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

фильтрация в инфоблоках

00 голосов
5
Здравствуйте!Подскажите, пожалуйста ответ на следующее:
создал инфоблок, добавил собственное свойство Region (строка). Теперь хочу чтобы на определенных страницах у меня выводились элементы, в которых строка Region соответствует одному определенному значению (например "Moscow" или "St.-Petersburg"). С учетом или без учета регистра - не важно -  лучше так, как легче это сделать :)
Еще больше буду благодарен, если напишите, как фильтровать по нескольким значениям, а не по одному.
спросил 28 Окт, 13 от TalloS (120 баллов)

5 Ответы

00 голосов
Создаем фильтр

Код
global $arrFilter; //Имя не имеет значения
$arrFilter = array('PROPERTY_Region'  => "Moscow"); 


при вызове конпонента указываем ему имя фильтра

Код
<?$APPLICATION->IncludeComponent(...
...
"FILTER_NAME" => "arrFilter"
...
 

для фильтрации по нескольким значениям (условие ИЛИ)

Код
global $arrFilter; //Имя не имеет значения
$arrFilter = array('LOGIC => 'OR', 
array('PROPERTY_Region'  => "Moscow"), 
array('PROPERTY_Region'  => "St.-Petersburg")); 

 
насчет последнего неуверен, но при выборке через API она работает
ответил 28 Ноя, 13 от XpoHo3aBp (860 баллов)
00 голосов
А как на странице детального просмотра элемента вывести другие элементы с тем же регионом?
ответил 10 Март, 14 от Angelblad (100 баллов)
00 голосов
Вставить в шаблон компонента выводящего инфо детально еще один компонент, где в фильтр забить тоже самое (название города для элемента, который щас детально просматриваем).
ответил 30 Июнь, 14 от LEDOKOL (740 баллов)
00 голосов
Цитата
reNNN пишет:
Создаем фильтр
Код
 global $arrFilter; //Имя не имеет значения
$arrFilter = array('PROPERTY_Region'  => "Moscow");  
А подскажите пожалуйста , где создается этот фильтр? Заранее спасибо
ответил 30 Окт, 14 от daa (100 баллов)
00 голосов
Там же, где вы подключаете компонент.
Вот только я не знаю почему человек, приведщий данный пример, использовал при объявлении переменной global.
Код
<?
global $arrFilter; //Имя не имеет значения
$arrFilter = array('PROPERTY_Region'  => "Moscow");  
$APPLICATION->IncludeComponent(...
...
"FILTER_NAME" => "arrFilter"
...

ответил 28 Фев, 15 от LEDOKOL (740 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 08 Май, 14 от CyPOBbIu (100 баллов)
0 голосов
2 ответов
спросил 17 Апр, 14 от Berry (160 баллов)
0 голосов
2 ответов
спросил 10 Янв, 14 от Mozilla (100 баллов)
0 голосов
5 ответов
спросил 25 Авг, 13 от Sailense (120 баллов)
0 голосов
4 ответов
спросил 21 Авг, 13 от Lehan (280 баллов)