Как сделать префикс язык на конце урла?

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

Аватар пользователя Reitan Reitan 28 марта 2013 в 12:55

Здравствуйте.
Столкнулся с проблемой постройки Url. Меня не устраивает построение урла,
сейчас он имеет вид site.ru/ru/node/1 а мне нужно, чтобы было site.ru/node/1/ru,
то есть префикс язык был на конце урла.
Может кто то уже сталкивался с такой проблемой?
Помогить пожалуйста.

Комментарии

Аватар пользователя Reitan Reitan 28 марта 2013 в 13:54

Зачем писать в тему, если от вас помощи 0?
Почему нельзя?

У меня задача перенести сайт на друпал, но на старом(самописном) движке языки определялись по окончанию, например:
site.ru/spirit/religion/indexru.htm
site.ru/business/advert/indexen.htm

Аватар пользователя Andruxa Andruxa 28 марта 2013 в 14:08

можно, всё можно

вопрос - какой ценой

потребуется реализовать какой-то такой алгоритм:
1. Отключить префикс пути в настройках мультиязычности
2. Через hook_menu создать свои MENU_ITEM для путей node/%nid/ru, node/%nid/en и т.д. Можно оптом - node/%nid/%arg, но в %arg будут попадать и edit и delete, и ещё много чего, так что лучше не надо
3. Написать свой препроцесс для MENU_ITEM, где по ru/en будут грузиться требуемые локализации
4. ????
5. PROFIT!

для алиасов это работать не будет

поэтому - чтобы не заниматься лишней работой, стоит как следует подумать - а оно вообще надо?

"Reitan" wrote:
site.ru/spirit/religion/indexru.htm
site.ru/business/advert/indexen.htm

в любом случае придется ставить редирект 301 со старых адресов на новые, что мешает сделать так:

site.ru/spirit/religion/indexru.htm -> site.ru/ru/spirit/religion
site.ru/business/advert/indexen.htm -> site.ru/en/business/advert

Аватар пользователя Reitan Reitan 28 марта 2013 в 14:22

Давайте зайдем с другой стороны.
Какой модуль отвечает за постройку Урла?

p.s.
Редирект не катит, так как нужно чтобы сохранились все адреса в поисковике.

Аватар пользователя Andruxa Andruxa 28 марта 2013 в 14:39

"Reitan" wrote:
Какой модуль отвечает за постройку Урла?

menu

"Reitan" wrote:
Редирект не катит, так как нужно чтобы сохранились все адреса в поисковике.

именно для этого катит редирект

Аватар пользователя neltharian neltharian 28 марта 2013 в 18:48

"Reitan" wrote:
Зачем писать в тему, если от вас помощи 0?

я тут давно думаю зачем я пишу в темы с откровенно ..... вопросами, но ответа так и не нашел.
"Reitan" wrote:
site.ru/spirit/religion/indexru.htm

какой шикарный маразм

"Andruxa" wrote:
можно, всё можно
да конечно можно но поскольку ниже вы написали
"Andruxa" wrote:
для алиасов это работать не будет
то вобщем нельзя.

"Reitan" wrote:
Редирект не катит, так как нужно чтобы сохранились все адреса в поисковике.

просветите темного для чего? И конкретно почему не катит

Аватар пользователя Andruxa Andruxa 28 марта 2013 в 19:07

ну, изначально тс хотел

"Reitan" wrote:
site.ru/node/1/ru

я просто показал на примере алгоритма, сколько телодвижений придется сделать,
к тому же, такое решение 100% не гибкое - для каждого языка придется лезть в код hook_menu, и для алиасов оно не подходит

не пытайтесь повторить это дома (с)

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

внимание, вопрос: а почему разработчики друпала решили использовать префикс пути в начале урла - они идиоты, или в этом есть какой-то тайный смысл?

Аватар пользователя neltharian neltharian 28 марта 2013 в 19:19

"Andruxa" wrote:
внимание, вопрос: а почему разработчики друпала решили использовать префикс пути в начале урла - они идиоты, или в этом есть какой-то тайный смысл?

вопрос серьезен?

Аватар пользователя neltharian neltharian 28 марта 2013 в 19:20

"Andruxa" wrote:
внимание, вопрос: а почему разработчики друпала решили использовать префикс пути в начале урла - они идиоты, или в этом есть какой-то тайный смысл?

вопрос серьезен?