В блоке views показать только те ноды, определенное поле которых совпадает с полем Ноды, на странице которой сейчас мы находимся

Аватар пользователя Mitriy-Bug

Заголовок запутанный, надеюсь поняли.
Есть ноды с полями улица, на странице конкретной ноды надо показать другие ноды с этой же улицы.

Создал Views:
http://joxi.ru/VrwMLYqSOEdaK2

Отображение настроил. Теперь не могу разобраться с контекстными фильтрами. Уже настроено:

  1. Отображать только ноды этого же региона (берется из URL)
  2. Не показывать в блоке ту ноду, которая открыта

А вот отфильтровать по улице не могу, в URL ее не хочу вставлять, слишком некрасиво будет

Тип материала:
Версия Drupal:
0 Thanks

Лучший ответ

Аватар пользователя Mitriy-Bug
Mitriy-Bug 6 дней назад

Пока сделал на основе скриптов js:

  1. Поле в самой ноде должно быть выведено на странице
  2. Создаем критерий фильтрации по нашему полю, с опреатором "равно" и оставляем его пустым, делаем его открытым для посетителей - http://joxi.ru/GrqyEYLFQ9d6gr
  3. Темизируем наш блок - block--views-block--avtosalons-street-block-1.html.twig. Можно и как то по другому, например вставить скрипт в подвал представления
  4. Вставляем наш скрипт:
    <script>
     jQuery(document).ready(function($) {
    var text = $(".field--name-field-ulica").text();
           $("#edit-field-ulica-value").val(text);
             $('#edit-submit-avtosalons-street').trigger('click');
       });
    </script>
  5. Скрыл стилями поле ноды и фильтр блока, чтобы не мозолили глаза

Топором рублено, но работает

Комментарии

Аватар пользователя oleg90990
oleg90990 1 неделя назад

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

Аватар пользователя fairrandir
fairrandir 1 неделя назад

Причём тут фильтры, тут связи надо использовать.

Аватар пользователя Mitriy-Bug
Mitriy-Bug 1 неделя назад

Связи пробовал, что то ничего подходящего не нашел

Аватар пользователя Mitriy-Bug
Mitriy-Bug 6 дней назад

Пока сделал на основе скриптов js:

  1. Поле в самой ноде должно быть выведено на странице
  2. Создаем критерий фильтрации по нашему полю, с опреатором "равно" и оставляем его пустым, делаем его открытым для посетителей - http://joxi.ru/GrqyEYLFQ9d6gr
  3. Темизируем наш блок - block--views-block--avtosalons-street-block-1.html.twig. Можно и как то по другому, например вставить скрипт в подвал представления
  4. Вставляем наш скрипт:
    <script>
     jQuery(document).ready(function($) {
    var text = $(".field--name-field-ulica").text();
           $("#edit-field-ulica-value").val(text);
             $('#edit-submit-avtosalons-street').trigger('click');
       });
    </script>
  5. Скрыл стилями поле ноды и фильтр блока, чтобы не мозолили глаза

Топором рублено, но работает