Перетворення імен термінів спеціальними символами в ідентифікатор терміна в Переглядах


11

У мене є погляд, де я хочу використовувати в якості аргументів кілька термінів ID. Я хочу використовувати назву терміна з URL-адреси та перетворити його в termID. Мені це вдалося зробити досить легко, і це працює з простими термінами в 1 слово або навіть з декількома словами, перевіривши "Перетворити тире в URL в пробіли в аргументах назви терміна"

У мене є кілька термінів із спеціальними символами, наприклад: "новини та політика".

Чи є спосіб мати приємні URL-адреси (новини-політика) та отримати погляди, щоб визнати правильний термін та перетворити його у правильний термінID? Чи доведеться мені urlencode ampersand? Це навіть спрацює?

Редагувати: Ви можете встановити псевдоніми шляхів для єдиних термінів таксономії, але це проблема, коли ви хочете використовувати ім'я терміна як другий аргумент у шляху з кількома аргументами, наприклад:

Скажіть, що я хотів відфільтрувати результати перегляду за% 1 Новини та потім% 2 Новини та політика

/ новини / новини-політика

другий термін не буде визнаний.


Чому ви не використовуєте назву терміна як аргумент?
dobeerman

Те саме питання. Амперсанда відсутня, тому друпал не може знайти термін. Я думаю, що єдиним варіантом є або url-кодування амперсанду, на який SEO не прагне, або, можливо, зберігання псевдоніму шляху для кожного терміна в db. Просто цікаво, чи стикався хтось із цим раніше і має гарну стратегію.
nickwshaw

І як короткочасне рішення ми просто замінимо & на слово і. Тож News & Politics (news-policy) буде News and Politics (news-and-policy)
nickwshaw

Відповіді:


2

Ви можете використовувати pathauto для настройки автоматичних псевдонімів для ваших термінів таксономії. Під час створення автоматичних псевдонімів Pathauto піклується про недійсні символи URL-адреси. Тоді у вашому перегляді використовуйте термін id як аргумент. Шлях вашого перегляду може бути або таксономією / терміном /%, або автоавторією, яку ви встановили /%


1
Дякую Джепедо. Це чудове рішення для одного терміна таксономії. Але проблема все ж є, якщо ви хочете використовувати цей термін як аргумент підкреслених підказок у шляху з кількома аргументами. Я мав би згадати про це в своєму первісному дописі і тепер його відредагував.
nickwshaw


2

Через давню помилку в модулі Views, про яку повідомляється у випуску № 672606: Плюс знаки, тире та косої риски (+ - /) ламають аргументи на Drupal.org, не можна використовувати як аргументи (або "контекстуальні фільтри "в останніх мовах) назви термінів, які містять певні спеціальні символи. Пара обхідні пропонується там :

  1. Використовуйте щось на зразок модуля Computed field (computed_field) для створення значущого для URL-поля значення терміна "сутність", яке можна використовувати як аргумент. Тільки будьте в курсі (тонкий?) Шанс дуже схожих термінів, що викрадають один одного, якщо ви не дбаєте про унікальність.
  2. Просто використовуйте ідентифікатори термінів для аргументів та створюйте для них псевдоніми шляхів за допомогою модуля View Alias (view_alias).
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.