Итак, добрый вечер, уважаемые форумчане. Начну с самого начала, а именно с описательной лирики. В данный момент веду завершающие работы по сайту банкетных залов. Естественно в определенном месте (да что уж там, прямо на главной странице) есть этот самый список банкетных залов, а над ним для удобства поиска располагается фильтр оных (дабы более подходящий проще было найти). Как известно и вполне очевидно банкетные залы находятся внутри определенных заведений, потому я создал 2 типа инфоблоков: заведения и непосредственно банкетные залы. Характеристиками зала выступают такие вещи, как вместимость, цена с человека и разностные ништяки (разрешается ли курить в зале и т.д.). Естественно, для каждого зала необходимо знать, у какого метро он находится, в каком административном округе или же районе и дублировать подобные вещи на каждый банкетный зал из группы тех, что находятся в одном заведении — маразм истинный. Для того и был как раз создан тип инфоблока, а затем и сам инфоблок "Заведения", для которого подобные характеристики указываются. Затем, при добавлении нового зала, мы просто указываем в свойстве типа "Привязка к элементам" к какому заведению он относится.
Теперь вернемся непосредственно к фильтру. Отбирать залы по таким критериям как цена и прочим (одним словом, характеристикам именно ЗАЛА) не составило труда (славься документация Битрикса, аминь). Но вот отфильтровать залы по значениям свойств связанных элементов (читаем несколько раз, дабы понять предложение) — проблема. Я накопал немного схожую штуку, в параметры фильтров можно передать вот такое вот значение: PROPERTY_. - фильтр по значениям полей связанных элементов, но это даст мне фильтрацию именно по значениям ПОЛЕЙ, а нужно мне по значениям СВОЙСТВ (ссылка на документацию: ).
Я пробовал накрутить эдакую "постфильтрацию", то есть, сначала в параметры вызова компонента передавать список тех характеристик, которые присущи только для залов, а потом уже в шаблоне вывода списка залов средствами API проводить фильтрацию по тем параметрам, которые характерны для ресторанов, в которых эти залы находятся. Работает, да, круто. Но сбивается пагинация, ведь в шаблон вывода передается выборка какого-то определенного размера, а я своими дерзкими и не хитрыми действиями часть выборки не вывожу. То есть, получаем, что залов должно быть на странице 10, а я показываю, например, 3. То есть тоже так себе вариант.
Список банкетных залов выводится компонентом bitix.news-list (если быть совсем точным, то компонентом, созданным на его основе, полной, так скажем, основе).
Повторю вопрос, дабы ни кому не пришлось перечитывать этот талмуд еще раз, чтобы его найти: каким образом можно реализовать фильтрацию по значениям свойств связанных элементов? Заранее большое спасибо.
Теперь вернемся непосредственно к фильтру. Отбирать залы по таким критериям как цена и прочим (одним словом, характеристикам именно ЗАЛА) не составило труда (славься документация Битрикса, аминь). Но вот отфильтровать залы по значениям свойств связанных элементов (читаем несколько раз, дабы понять предложение) — проблема. Я накопал немного схожую штуку, в параметры фильтров можно передать вот такое вот значение: PROPERTY_. - фильтр по значениям полей связанных элементов, но это даст мне фильтрацию именно по значениям ПОЛЕЙ, а нужно мне по значениям СВОЙСТВ (ссылка на документацию: ).
Я пробовал накрутить эдакую "постфильтрацию", то есть, сначала в параметры вызова компонента передавать список тех характеристик, которые присущи только для залов, а потом уже в шаблоне вывода списка залов средствами API проводить фильтрацию по тем параметрам, которые характерны для ресторанов, в которых эти залы находятся. Работает, да, круто. Но сбивается пагинация, ведь в шаблон вывода передается выборка какого-то определенного размера, а я своими дерзкими и не хитрыми действиями часть выборки не вывожу. То есть, получаем, что залов должно быть на странице 10, а я показываю, например, 3. То есть тоже так себе вариант.
Список банкетных залов выводится компонентом bitix.news-list (если быть совсем точным, то компонентом, созданным на его основе, полной, так скажем, основе).
Повторю вопрос, дабы ни кому не пришлось перечитывать этот талмуд еще раз, чтобы его найти: каким образом можно реализовать фильтрацию по значениям свойств связанных элементов? Заранее большое спасибо.