Проблема с clean url на мультиязычном сайте

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

Аватар пользователя np np 5 августа 2010 в 15:45

Всем привет!
Пожалуйста, помогите.

Есть мультиязычный сайт. ( i18n ). Используются чистые ссылки.

Есть две ноды http://www.example.com/node/1 ( английская ) и http://www.example.com/node/2 ( русская ). В данном случае это страницы ( page ).

У обоих делаю одинаковые алиасы "about": получается http://www.example.com/about и http://www.example.com/ru/about в админке /admin/build/path. То есть два алиаса на разных языках для разных нод в соответствии с их языками.

Все работает до той поры, пока я не отредактирую одну из нод. После этого соответствуюций ей алиас изменяет свой язык и ссылку ( на ноду с противоположным языком ). В итоге получается так, что в /admin/build/path мы наблюдаем два совершенно одинаковых алиаса ( один верный, другой - изменившийся ).

З.Ы: Работает сихронизация переводов для нод.

Комментарии

Аватар пользователя np np 10 ноября 2015 в 11:46

В общем, походу что этот патч в ядро еще не влупили. Причём, в Drupal 6.17 версия модуля path: 1.138.2.3 2008/11/22 ! Ого! Smile
Я сам пофиксил модуль. Мне помогло. Выкладываю сюда, может еще кому пригодится.

Открываем файл /modules/path/path.module v 1.138.2.3 2008/11/22 10:49:15.
В нём заменяем строку 108 на:
/* BEGIN p5 team fix
db_query("UPDATE {url_alias} SET src = '%s', dst = '%s', language = '%s' WHERE dst = '%s'", $path, $alias, $language, $alias);
*/
db_query("UPDATE {url_alias} SET src = '%s', dst = '%s', language = '%s' WHERE dst = '%s' and language = '%s'", $path, $alias, $language, $alias, $language );
/* END p5 team fix */

Прикрепляю так же архив с готовым пропатченным модулем.