Всем привет!
Тема уже поднималась, более развернуто.
Воодная простая:
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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! УПРОСТИМ ЗАДАЧУ, чтобы было понятней и понятна ценность подхода - просто вывести блок нод, у которых есть совпадение, например, по одному ключевому слову в описании. Это упрощает вывод похожих мателиалов, чтобы не прибегать к тегам, делает вывод похожих материалов более гибким, настраиваемым, релевантным.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Комментарии
В общем - тестирую всякие модули. Надеюсь что выдам решение, много где может пригодиться, думаю так.
Даже, например, для вывода материалов блоком, в котором имеются схожие слова в тексте. Отлично для сео и удобства пользователей.
!!! УПРОСТИМ ЗАДАЧУ, чтобы было понятней и понятна ценность подхода - просто вывести блок нод, у которых есть совпадение, например, по одному ключевому слову в описании. Это упрощает вывод похожих мателиалов, чтобы не прибегать к тегам, делает вывод похожих материалов более гибким, настраиваемым, релевантным.
Вот похожее, но не понятно для 90% пользователей:
https://www.dru.io/question/9540
Вот пробую:
https://www.drupal.org/project/views_extras
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;
?>
На препроцессе блока вью из RouteMatchInterface $route_match получите id node и затем значение этого поля, далее подставьте куда вам надо его...