Drupal 8 OutboundPathProcessorInterface с представлениями открытых фильтров - PullRequest
0 голосов
/ 28 августа 2018

У меня есть представления со списком статей, которые имеют 2 поля категорий (термины таксономии) с открытым фильтром в обоих полях. Когда я что-то ищу, создается следующий URL

изделия /? Field_article_category = 5 & field_article_age = 10.

Я хочу изменить этот URL-адрес на article / category-sports / age-10 , но псевдоним URL не работает, см. https://www.drupal.org/project/drupal/issues/118072.

Что я пробовал до сих пор:

  1. Пользовательская функция отправки в открытой форме для перенаправления на заданную страницу, по какой-то причине она не работает, умирает при слишком большом количестве перенаправлений.
  2. создайте собственный PathProcessor, который реализует OutboundPathProcessorInterface, и попытайтесь записать новую логику в processOutbound.

processOutbound ($ path, & $ options = [], запрос $ request = NULL, BubbleableMetadata $ bubbleable_metadata = NULL)

Во 2-й точке есть некоторые проблемы, во-первых, мой $ options ['query'] пуст, а когда я пытаюсь вернуть новый путь 'category-'. $ request-> query-> get ('field_article_category') я буду перенаправлен на поиск / категорию- без номера / имени категории, я думаю, что что-то кеширует это, потому что я пытался добавить случайный и тот же рассказ.

Вопросы:

  1. почему я не могу изменить путь на «category-». $ request-> query-> get ('field_article_category') в processOutbound.
  2. есть ли другой подход, который делает это возможным?

Спасибо

...