несколько лицевых панелей на нескольких языках
У меня есть многоязычный (3) сайт Drupal 7. Я установил модуль интернационализации (7.x-1.0-beta2).
Я создал для каждого языка страницу и перевел ее на два других языка.
Теперь вот что я хочу сделать: установить интеллектуальную "переднюю страницу", чтобы узнать, какой язык выбран, и задать первую страницу (которую я выбираю) на этом языке.
Как я могу это сделать? Я знаю, что в модуле интернационализации такого типа нет, правда? Если я установил на первой странице ничто, я получаю это сообщение: "Пока не создано ни одного содержимого главной страницы". что нормально, потому что Drupal просит меня установить одну переднюю страницу, однако я хочу, чтобы для каждого языка была первая страница.
Ответы
Ответ 1
Возможно, вы опоздаете на вечеринку с этим ответом, но после многих часов, потраченных на то, чтобы решить это самостоятельно, у меня есть следующее решение.
Для Drupal 7:
1- Убедитесь, что вы включили модули Переменные и Переменные Переводы.
2- Goto admin/config/региональный/i18n/переменная
3- Выберите вкладку "Информация о сайте" и установите флажок "Начальная страница по умолчанию", сохраните настройки.
4-Goto admin/config/system/site-information, вы увидите блок текста, в котором говорится о некоторых ваших настройках, которые являются многоязычными переменными и списком ссылок для языков, на которых вы работаете, которые позволяют вам устанавливать настройки для каждого языка.
Теперь, когда появляется реальный GOTCHA... нажатие этих ссылок и изменение настроек ничего не делает. Ваши левые с теми же настройками все еще для всех языков. Как это сделать?
Проверьте URL-адрес, в котором вы сейчас находитесь, и все, что-то вроде: http://www.example.com/en/admin/config/system/site-information/
Обратите внимание на префикс языка там до /admin?? Чтобы изменить настройки для других языков, которые вы хотите использовать, установите префикс в URL-адрес и внесите изменения. И теперь, словно по волшебству, несколько фронт-страниц, правильно изменяющихся на основе языка.
Это должно быть ошибка в Drupal, мне нужно открыть билет. Но пока, если кто-то еще сталкивается с этим, я надеюсь, что он решает и вашу проблему.
Ответ 2
Я искал то же самое. Я бы рекомендовал Drupal 7 - многоязычная первая страница node, которая полностью готова и отлично работает для проектов Drupal 7.
Ответ 3
После продолжения разрывания моих волос, я узнал, что эта функция несовместима с анонимным кэшированием страниц!
Перейдите в /admin/config/development/performance и отключите кеширование страниц для анонимных пользователей.
Ответ 4
Может быть, есть лучший способ, но в конце концов он так и сделал.
Я добавил в template.php
следующий код:
/**
* Implements hook_preprocess_page().
*/
function aelius_preprocess_page(&$vars) {
if ($vars['is_front']) {
$langcode = $GLOBALS['language']->language;
if ($langcode == "en") {
drupal_goto('home');
} elseif ($langcode == "fr") {
drupal_goto('accueil');
}
}
}
Ответ 5
Я еще не работал с Drupal 7 i18n, но в Drupal 6 вы добавили переменную site_frontpage в $conf ['i18n_variables'] в settings.php, а затем переключитесь на каждый язык по очереди и установите переднюю страницу на страницу с информацией о сайте.
В качестве альтернативы вы можете указать условие в своей теме front-page.tpl.php как это