Бітрікс - фільтр (пошук) з усіх товарів каталогу конкретних властивостях

Раніше в даній статті описувався дуже громіздкий і не зовсім продуктивний спосіб виведення товарів з усього каталогу по потрібним властивостями (бренд і підлогу). На даний момент існує більш простий метод з використанням стандартних компонентів Бітрікс.

1. Створюємо в каталозі потрібні властивості Бренд, Пол.

2. Виводимо в потрібному місці шаблону сайту (напірімер, в лівій колонці) компонент Фільтр за елементами bitrix: catalog.filter, вказуємо всі необхідні параметри, в поле "Ім'я виходить масиву для фільтрації:" пишемо, н-р, arrF, вибираємо наші властивості, за якими будемо фільтрувати.

3. Створюємо сторінку, на якій будуть виводиться результати, на неї додаємо цей же компонент, беремо його в

. нижче додаємо компонент Елементи розділу bitrix: catalog.section, встановлюємо потрібні параметри, зокрема в поле "Ім'я масиву зі значеннями фільтра для фільтрації елементів:" також пишемо arrF і ставимо галочку "Показувати всі елементи, якщо не вказано розділ:". (Важливо, щоб компонент фільтра стояв перед компонентом списку товарів, тобто може якщо перший фільтр поставити в правій колонці, то другий і не знадобиться).

намагаюся реалізувати приблизно такий же фільтр, але у мене пошук за назвою.
в якому місці саме писати цей код, ще ускладнюється що є вже один фільтр. буду дуже вдячний якщо порадите або підкажете

В принципі, якщо у Вас пошук просто за назвою, то Ви можете скористатися звичайним вбудованим пошуком, там мінус в тому, що в результатах не виводиться картинка, як це виправити описано тут smsdesign.com.ua/. /.
Якщо у Вас вже є на сторінці стандартний фільтр, то там теж повинна бути фільтрація за назвою.
Те, що описано в цій статті, пишеться на окремій сторінці php (тут до речі теж за назвою є фільтрація). Якщо дивитися сюди fakt.net.ua/. /. . то код написаний на порожній сторінці /brand/index.php
Мінус в тому, що якщо зайти просто сюди fakt.net.ua/brand/. то виведуться абсолютно усі товари на сторінку, з цього на цьому сайті прямого посилання на цей фільтр немає, а є посилання з головної вже конкретно для кожного бренду

Щиро Дякую! спробую)

ви зробили свій компонент? не могли б Ви викласти сам компонент і пов'язані сторінки (index.php.)
Дякуємо.

Це не компонент, а окрема сторінка php. Я створила чисту сторінку /brands/index.php і прописала там весь цей код з урахуванням своїх даних (ID Інфоблоки, символьні коди потрібних властивостей і т.д.) Якщо просто зайти на цю сторінку, то виведеться весь список товарів. посторінкову навігацію я не змогла реалізувати. і оскільки цих товарів занадто багато, то у мене з головною відразу йшли посилання з урахуванням фільтра / brand /? brands = versace

Спасибі, не працює фільтр за назвою бренду, тільки якщо задати id цього бренду. Куди дивитися?

У моєму випадку, якщо шукати по бренду Versace, то потрібно переходити за посиланням / brand /? Brands = versace або на сторінці / brand / в списку вибрати бренд Versace і натиснути на Підібрати. тут параметри brands і versace задаються в списку select на початку коду, після третього рядка. Якщо вводити просто назва Versace в поле Найменування, то фільтр буде шукати це слово в поле Назва, яке Ви заповнюєте в адмінці, коли додаєте товар

але непойму як отримати властивість, адже в CIBlockElement. GetProperty передається ID_BLOCK, а мені б як в попередньому шматку, передати тип або масив Інфоблоки.

Справа в тому, що у мене список брендів, за якими фільтруємо, прописаний вручну, а $ arFilter1 і т.д. необхідно для виведення властивостей вже біля товарів, які з'являються на сторінці. Якщо у вас для товарів з різних Інфоблоки виводяться різні властивості, то чому б не вивести спочатку список товарів за потрібною властивості з одного Інфоблоки, потім з іншого, тобто написати
$ ArFilter1 = Array ( "IBLOCK_ID" => 12, "% NAME" => $ word, array ( "? PROPERTY_BRAND" => $ br, "? PROPERTY_POL" => $ pol), "ACTIVE_DATE" => "Y" , "ACTIVE" => "Y");
$ ArFilter2 = Array ( "IBLOCK_ID" => 13, "% NAME" => $ word, array ( "? PROPERTY_BRAND" => $ br, "? PROPERTY_POL" => $ pol), "ACTIVE_DATE" => "Y" , "ACTIVE" => "Y");
і далі відповідно повторити код для другого Інфоблоки

Я не зрозумів що ви зробили. Де ви пишете $ arFilter1? На сторінці в коді у мене ось що:

Це повідомлення про підписку на повідомлення (галку не поставив в минулому пості)

Дякую за роз'яснення, в загальному домігся працюючого результату, але ніяк не второпаю як ще виводити ціну і наявність, тобто price і quantity.

Ось як зробити, щоб зазваніе елемента виводилося над картинкою?

Спробуйте в шаблоні детальної сторінки елемента в потрібному місці вивести php змінну $ arResult [ "NAME"]