Перейти до основного вмісту
Views + Attachments + Facets

Завдання: створити сторінку з Facets фільтрами, де вгорі відображатиметься мапа з результатами пошуку (фільтрації), а під мапою той же список матеріалів, але вже у вигляді списку.

facet.png

У Друпал 7 проблем немає жодних бо основна сторінка views, а також її вкладення залежні, і результат пошуку у них один при фільтрації Facets блоками. У Друпал 8 все трохи складніше так як логіка роботи модуля Facets була перероблена, і тепер в налаштуваннях /admin/config/search/facets/YOUR_FACET_BLOCK_NAME результат для якого обробляти блок прив'язується тільки до одного відображення, і вкладення та блоки поточного Views більше не будуть залежні від основної сторінки.

faset-sto.png

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

Все, що це потрібно:

1. у вкладці "Вкладення" перейти в налаштування "Контекстні фільтри"

contextual_filters.png

2. додати фільтр "All taxonomy term fields" не забувши при цьому встановити налаштування, що це тільки для поточної вкладки.

taxonomy.png

3. у налаштуваннях фільтра "All taxonomy term fields" вибираємо "Передати значення за замовчуванням ->> Необроблене значення з URL->>Компонент шляху"

komponent_puti.png

Компонент шляху - це рівень вкладеності яким знаходиться ID потрібного нам терміна таксономії (вибраного фільтра Facet). Наприклад, для "siteurl/service/do/631" компонентом шляху терміна під ID 631 буде 3

4. У цьому ж вікні настройок нижче в "Коли значення фільтра ДОСТУПНО або надано за замовчуванням" ставимо галочку на "Вкажіть критерії перевірки" і там вибираємо "Дія у випадку якщо значення фільтра недійсне ->> Відобразити всі результати"

znacheniya.png

Так ми настроїли зв'язок відображень вкладення одного з фасетних блоків (фільтра). Якщо у Вас 3 таких фільтри - повторюємо всі починаючи з першого пункту для кожного з них, змінюючи тільки цифру "Компонент шляху". У мене наприклад у прикладі три фасетні блоки для цієї сторінки, і якщо відзначити їх усі, адреса матиме вигляд /service/car/56/city/567/do/ 631. Тому як видно на скріншоті з кроку №1 я додав 3 таких контекстних фільтра де у першого компонента шляху буде 3, у втрьох 5, у третього 7.

servisy.png

 І так, з включеним у Views Ajax такий варіант не працює.

ПІдписка

Об авторе

Автор цього блогу. У SEO понад 10 років. Окрім SEO цікавлюся всім, що пов'язано з технологіями та заробітком в інтернеті про що й стараюся ділитися з читачами.