Завдання: створити сторінку з Facets фільтрами, де вгорі відображатиметься мапа з результатами пошуку (фільтрації), а під мапою той же список матеріалів, але вже у вигляді списку.
У Друпал 7 проблем немає жодних бо основна сторінка views, а також її вкладення залежні, і результат пошуку у них один при фільтрації Facets блоками. У Друпал 8 все трохи складніше так як логіка роботи модуля Facets була перероблена, і тепер в налаштуваннях /admin/config/search/facets/YOUR_FACET_BLOCK_NAME результат для якого обробляти блок прив'язується тільки до одного відображення, і вкладення та блоки поточного Views більше не будуть залежні від основної сторінки.
Ця тема обговорюється тут, і тут, але запропоновані рішення у мене не працювали. Пропоную простий спосіб налаштування без редагування та написання коду, а лише з використанням налаштування контекстних фільтрів.
Все, що це потрібно:
1. у вкладці "Вкладення" перейти в налаштування "Контекстні фільтри"
2. додати фільтр "All taxonomy term fields" не забувши при цьому встановити налаштування, що це тільки для поточної вкладки.
3. у налаштуваннях фільтра "All taxonomy term fields" вибираємо "Передати значення за замовчуванням ->> Необроблене значення з URL->>Компонент шляху"
Компонент шляху - це рівень вкладеності яким знаходиться ID потрібного нам терміна таксономії (вибраного фільтра Facet). Наприклад, для "siteurl/service/do/631" компонентом шляху терміна під ID 631 буде 3
4. У цьому ж вікні настройок нижче в "Коли значення фільтра ДОСТУПНО або надано за замовчуванням" ставимо галочку на "Вкажіть критерії перевірки" і там вибираємо "Дія у випадку якщо значення фільтра недійсне ->> Відобразити всі результати"
Так ми настроїли зв'язок відображень вкладення одного з фасетних блоків (фільтра). Якщо у Вас 3 таких фільтри - повторюємо всі починаючи з першого пункту для кожного з них, змінюючи тільки цифру "Компонент шляху". У мене наприклад у прикладі три фасетні блоки для цієї сторінки, і якщо відзначити їх усі, адреса матиме вигляд /service/car/56/city/567/do/ 631. Тому як видно на скріншоті з кроку №1 я додав 3 таких контекстних фільтра де у першого компонента шляху буде 3, у втрьох 5, у третього 7.
І так, з включеним у Views Ajax такий варіант не працює.
- 68 переглядів