Перенаправление не происходит

Аватар пользователя alexo alexo 25 января в 14:35

При создании ноды на русском с ручным url или автоматическим c pathauto url, например"test" создается страница вида site.ru/ru/test (язык по умолчанию на сайте английский),

Проблема в том, что при вводе в адресной строке адреса ... /node/2 не происходит перенаправление на .../ru/test,
страница открывается как версия на английском языке
(по всякому пробую с ET и CT, при чем при первых тестах было предположение, что дело в ET, но сейчас у меня с CT и с ET так работает, отличие только в том, что с ET язык на который нода не переведена еще и показыватся активным в блоке, а не перечеркивается)

Как можно это исправить?

Как сделать так, чтобы при отсутствии перевода язык был зачеркнут и перенаправление делалось на алиас вида /test

Здесь похожая тема, но у меня не получилось пока этим способом
В списке синонимов он у меня есть на русском

И на русском нормально перенаправляется только при использовании переключателя языка, а при использовании прямого ввода адреса в URL страница открывается как англоязычная версия.

0 Thanks

Комментарии

Аватар пользователя alexo alexo 25 января в 15:18

Единственное предупреждение, которое выскакивает
в этой строке
if ($extra_fields_display_settings['language']['visible']) {
в

function i18n_node_node_view($node, $view_mode, $langcode) {
  if (i18n_node_type_enabled($node)) {
    $extra_fields_display_settings = field_extra_fields_get_display('node', $node->type, $view_mode);
    if ($extra_fields_display_settings['language']['visible']) {
      $node->content['language'] = array(
        '#type' => 'item',
        '#title' => t('Language'),
        '#markup' => i18n_language_name($node->language),
      );
    }
  }
}

скриншот

Аватар пользователя alexo alexo 26 января в 12:08

Пока еще сохраняется такая ситуация с редиректами. Вопрос такой: может ли что-то в настройках сервера блокировать работу global redirect таким образом?
Где искать? В службе поддержки на хостинге готовы поискать причину, но спрашивают, что смотреть?
Или дело скорее в том все же, что в админке у меня накликано?

Аватар пользователя gun_dose gun_dose 26 января в 12:42
1

У синонима урл есть язык. При отсутствии перевода открывается системный путь. Перенаправлять на другой язык не всегда корректно, т.к. юзер будет видеть все элементы сайта не на своём языке. Оптимальный вариант - добавлять ко всем материалам переводы, либо удалить лишние языки.

Аватар пользователя alexo alexo 26 января в 18:17

Спасибо большое!
Сейчас у меня на сайте большинство нод на русском. И оригиналы так и будут на русском. Т.е. чаще будут варианты, когда есть русскоязычная версия. В таком случае удобно, чтобы адрес вида node/n при прямых переходах по ссылке считался русскоязычным и срабатывал переход на русскоязычный алиас.

А можно как-то при том, что английский язык - язык по умолчанию, сделать, чтобы при открытии ноды из адреса вида /node/n язык определялся как русский?
Может можно тогда на странице определения и выбора как-то настроить /ru/admin/config/regional/language/configure ?

Когда на странице настройки языка пробую убрать префикс для русского, а для английского добавить, чтобы при отсутствии префикса при прямом переходе по ссылке вида node/n перенаправление на русский язык срабатывало, то оказывается, это можно только, если русский язык - язык по умолчанию.

Сайт новый, учитывая, что рекомендуют язык по умолчанию не менять после установки (так как именно при инсталляции там важные настройки делаются, и потом все может слететь), то значит придется перезаливать сайт заново? Или есть другие способы это исправить?