Использую на сайте: translation; path (URL aliases); global redirect
Материалы создаю на русском и английском. Язык по умолчанию - English.
Если страница создана только на русском и не имеет перевода, то при просмотре страницы возникает странный эффект: Если переключится на английский язык, то в адресной строке пропадает заданный URL aliases, а появляется node/1 node/22 и т.д.
Непонятно, почему страница вообще отображается если выбран другой язык и что происходит с URL?
Комментарии
Поставьте нейтральный язык, и будет Вам счастье. Друпал когда генерирует алиас для ноды проверяет принадлежит, ли нода текущему языку. Таким образом алиасы не дублируются на одном языке, и есть возможность добавить одинаковые алиасы на рызных языках.
Это понятно, спасибо. Если при создании ноды ставить нейтральный язык, то нода и алиас отображаются нормально.
Но, я предполагал, что русская нода вообще не будет отображаться при выборе английского языка. Частично это работает. Например, если стоит чекбокс выводить на front страницу, то на главной анонс непереведенной страницы не отображается, если выбран английский. Но если переключить язык с русского на английский непосредственно при просмотре страницы, то русская страница остается видимой и вместо алиаса стандартный адрес /node/...
Есть ли какой способ сделать так, чтоб страница, не имеющая перевода, переставала отображаться при переключении языка, а, например, отображалась главная?
Напишите свой свитчер, по аналогии с тем который работает с локейл - это не очень сложно. Но для меня такое поведение нелогично. Пользователь переключает в ожидании того что появится английская версия статьи, а попадает на совсем другую страницу. Разве что сделать надпись типа - страница с надписью "Перевода еще нет".
Сравнения с выводом главной и ноды некорректны, так как когда Вы переключаете язык на главной то попадаете на ту же главную страницу, при переключении ноды происходит тоже самое.
Да, согласен - Не логично (что-то я перемудрил похоже).
Наверное, на время пока не готов перевод, буду делать или нейтральные по языку страницы, или делать страницы-пустышки с "Извинените, перевод еще не готов"
Спасибо!
Собственно, все еще проще!
Я оставил блок Language Switch только на главной странице сайта и главных страницах разделов - куда анонсы не переведенных статей не будут выводится в принципе.
А при полном просмотре ноды Drupal сам по умолчанию не показывает языковых ссылок, если перевода не существует.