Автозаполнение открытых фильтров в блоке Views

Главные вкладки

Аватар пользователя microproger microproger 21 декабря 2019 в 17:39

Всем привет!

Тема уже поднималась, более развернуто.

Воодная простая:

Drupal 8
На странице ноды выводим блок views, в котором открытый (не обазательно) фильтр автозаполняем по значению какого либо поля этой самой ноды.

Очень удивился, почему нет на виду такого штатного проработанного решения!

Это может быть число, текст, и так далее, не принципиально, тут суть больше в самом подходе.

Картинка:

Ссылки:

Развернутый пост:
https://drupal.ru/node/140963

Рецепты про id:
https://drupal.ru/node/140903

Идея от Voviko:
https://openvani.com/blog/setting-default-expose-filters-in-drupal-8-views/

Модуль, может про это:
https://www.drupal.org/project/contextual_range_filter

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!! УПРОСТИМ ЗАДАЧУ, чтобы было понятней и понятна ценность подхода - просто вывести блок нод, у которых есть совпадение, например, по одному ключевому слову в описании. Это упрощает вывод похожих мателиалов, чтобы не прибегать к тегам, делает вывод похожих материалов более гибким, настраиваемым, релевантным.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Комментарии

Аватар пользователя microproger microproger 21 декабря 2019 в 19:04

В общем - тестирую всякие модули. Надеюсь что выдам решение, много где может пригодиться, думаю так.
Даже, например, для вывода материалов блоком, в котором имеются схожие слова в тексте. Отлично для сео и удобства пользователей.

Аватар пользователя microproger microproger 21 декабря 2019 в 19:11

!!! УПРОСТИМ ЗАДАЧУ, чтобы было понятней и понятна ценность подхода - просто вывести блок нод, у которых есть совпадение, например, по одному ключевому слову в описании. Это упрощает вывод похожих мателиалов, чтобы не прибегать к тегам, делает вывод похожих материалов более гибким, настраиваемым, релевантным.

Аватар пользователя microproger microproger 21 декабря 2019 в 21:59

https://drupal.ru/node/132501

....Собственно, вопрос:
Как передать в контекстный фильтр значение поля текущей ноды (ноды на странице которой выводится блок views). (аргумент который мне нужен не содержится в урле)
////

<?php
$node = node_load(arg(1));
if (isset($node->field_name['und'][0]['taxonomy_term']->name)) return $node->field_name['und'][0]['taxonomy_term']->name;
?>

Аватар пользователя alexbrd alexbrd 22 декабря 2019 в 0:39

На препроцессе блока вью из RouteMatchInterface $route_match получите id node и затем значение этого поля, далее подставьте куда вам надо его...