Русские термины в адресной строке

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

Аватар пользователя Bios Bios 14 мая 2014 в 11:34

Есть ли правильный способ передавать в адресной строке название термина изначально надписанного русском языке?

Есть вьюха которая читает название термина из url.

Сейчас url выглядит так test.ru/gender/мужчина, а как сделать чтобы в адресе было test.ru/gender/man и вьюха понимала какой термин запрошен?

Комментарии

Аватар пользователя Bios Bios 14 мая 2014 в 14:44

А потом вьюха будет искать аргумент man, но его нет в списке терминов и получим "страница не найдена"

я не переопределяю страницу отображения термина, а ищу имя термина в пути это совсем другое

Аватар пользователя whiesam whiesam 14 мая 2014 в 14:57

"Bios" wrote:
я не переопределяю страницу отображения термина, а ищу имя термина в пути это совсем другое

Пф. А нафига Вы ищите по названию? Из arg() по tid никак что ли?

Аватар пользователя whiesam whiesam 14 мая 2014 в 16:54

"Bios" wrote:
По айдишникам ссылки не такие красивые ) хотя логически айдишниками оптимальный вариант

Теперь я окончательно запутался.
Отсюда следует вопрос: это вообще как?????
"Bios" wrote:
я не переопределяю страницу отображения термина, а ищу имя термина в пути это совсем другое

Чем ищите, зачем ищите, что Вы вообще делаете и что хотите?

Если Вам просто надо чтобы они были на англ. То ставьте пачавто и не е*** мозг.

"Bios" wrote:
А потом вьюха будет искать аргумент man, но его нет в списке терминов и получим "страница не найдена"

Вьюха никогда не будет искать по названию термина, она по id ищет. В контекстных фильтрах же всё написано.

Аватар пользователя Bios Bios 14 мая 2014 в 22:09

whiesam

Извиняюсь за неточности. Разьясняю:

Делай интернет магазин использую сборку. Она основана на английском языке. Сейчас разбираюсь со странице отображения товаров по полу. У каждого товара есть термин пол.

Так вот в английском товары для мужчин допустим имеют термин MAN, а ссылка на страницу с товарами для мужчин выглядит test.ru/gender/man, потому что вьюха определяет имя термина из URL и ищет по имени его id. Следуя этой логике на русском аналогичная страница выглядит test.ru/gender/мужчина

вот сама вьюха

Аватар пользователя whiesam whiesam 15 мая 2014 в 3:05

Мда. Зачем Вы создали эту вьюху? Не проще использовать общую для всего каталога?
Тут указан путь, да не тот. Соответственно контекстные фильтры не те. И я не вижу вьюха по какому признаку: содержимое?
В общем вьюхе наплевать на урл при нормальной настройке каталога, так что ставьте пачавто и транслитерейшен.
Затем удаляйте эту вьюху. И создавайте общую для всего каталога, то есть для всех терминов, связанным с каталогом. Пример такой вьюхи можете посмотреть в стандартных вьюхах друпала "Taxonomy term", но она построена по принципу перезаписи ВСЕХ терминов таксономии разом, так что Вам нужна аналогичная вьюха, но с урл "-". И подключать её надо в нужный словарь через модуль taxonomy display.
Можете качнуть любую адекватную сборку комерца и посмотреть как там сделано.
То что Вы наворотили вообще не то (контекстный фильтр не тот и урл).

Аватар пользователя drupby drupby 15 мая 2014 в 4:14

"Bios" wrote:
Сейчас url выглядит так test.ru/gender/мужчина, а как сделать чтобы в адресе было test.ru/gender/man и вьюха понимала какой термин запрошен?

если надо чтобы термин назывался "мужчина" , а в урле использовать для формирования значения контекстного фильтра именно "man" , то можно добавить термину текстовое поле и туда записывать его англоязычный вариант