2 вопроса по Views: Транслитерация термина таксономии и работа открытого фильтра, если уже задан термин

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

Аватар пользователя Alex1989_drupal Alex1989_drupal 22 ноября в 20:53

Всем привет. Имею 2 вопроса.

1) Вопрос:
В Drupal 9 я создаю страницу на основе Views с контекстным фильтром, который принимает таксономический термин из URL. Например:

/my-view/<product-type>

Термины таксономии находятся в словаре «Тип продукта» и переведены на несколько языков (например, термин "страхование" имеет переводы: Versicherung на немецком и Assurance на французском).

Я ожидаю, что URL будет работать для каждого языка, например:
- /de/my-view/versicherung
- /fr/my-view/assurance

Но, похоже, контекстный фильтр работает только с оригинальным (исходным) названием термина, а переводы игнорируются.

Можно ли настроить Drupal так, чтобы в URL использовалась транслитерация термина (например, /my-view/%kholodnyy вместо оригинального имени)?
Если да, то как это сделать?
Сам views имеет путь с аргументом, который должен браться из латиницы термина Path:/my-view/%

2) вопрос 2. Как создать фильтр в Filter criteria для многозначного поля (field_term_target_id) в Views, чтобы он корректно обрабатывал несколько значений? Важно, чтобы фильтр учитывал текущий контекст с использованием связи (relationship) с термином таксономии (term_node_tid).

Так же при включении опции Allow multiple values в Контексте, Друпал выдает ошибку Attempt to assign property "type" on null in ManyToOneHelper->ensureMyTable()

А опция Allow multiple values доступна только для контекстных фильтров, а не для обычных фильтров. Какие есть варианты реализации?

Views так же работает со словарем field_term_target_id и один термин этого словаря изначально задан в урл (/my-views/term-name%). При нажатии на открытый фильтр урл с первым термином сохраняется. Это сделано для того, чтобы получить нужного вида ссылку и создавать страницы таксономии с этими урл.

Комментарии

Аватар пользователя seaji seaji 25 ноября в 10:51

Из Вашего описания довольно сложно что-то понять.
Но на сколько я понял, по первому вопросу, views вроде всегда принимал в качестве аргумента ID термина таксономии, а не его имя. Тем более, что Вы можете хоть сотню терминов создать с одним и тем же именем. Вставляете ID термина, а название будет отображаться на языке, в контексте которого находитесь.

Аватар пользователя Alex1989_drupal Alex1989_drupal 25 ноября в 14:50

Спасибо за ответ. Да, views принимает TID таксономии. Но принимает и Taxonomy term: Name. Это сделано для ЧПУ ссылок вместо TID.
По идее, ЧПУ ссылки можно сделать и в модуле Pathauto, но мне нужно генерировать разные УРЛ в зависимости от контекста.
С TID все будет работать на разных языках, но с TID я теряю ЧПУ ссылку.