CMS Drupal

При создании двуязычного сайта использовал модуль i18n (разделение на языке было сделано по доменам .ru и .fr). Для генерации многих страниц использовал модуль Views(куда ж без него на сложных проектах). В запросах, как правило, ставил условие, чтобы для материалов использовался текущий язык пользователя. И вот натолкнулся на проблему, решение которой на нашел даже на drupal.org

Все бы, вроде, хорошо: на страницах, созданных в Views, по одной и той же ссылке, для разных доменов выводятся материалы для соответствующего языка. Но проблема в том, что система меню этой ссылке присваивает язык по умолчанию (в моем случае русский) и соответсвенно все французские пункты меню, к которому относится рассматриваемая нами ссылка, не отображаются. Как и не отображаются в свою очередь и русские пункты этого меню. Вот такая вот история. Менюшка в навигации получается вообще пустой.

На .org предлагают делать для нового языка алиасы и у них как то работает(если ссылки без параметров), но у меня не получилось.

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

Предлагаю еще один свой вариант. Чтобы меню работало корректно, нам в конечном итоге надо сделать отдельный пункт меню для каждого языка, поэтому создаем для французского языка новую страницу с PHP форматом.
Содержание такое:

<?php
echo views_page('nodes_by_type','page_4');
?>

Где "nodes_by_type" - это название Views, а "page_4" - это страница Views(у меня в данном случае 4-я).
Ну и этому материалу соответственно назначаем французский язык.

Комментарии

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Помогите плиз, хочу сделать сайт двуязычный, на друпале. Купил домены в зоне .ru и .com. Хочу сделать русскую и английскую версию сайта соответственно. С чего начать? Мне прийдется делать 2 сайта?

admin аватар

Вот как раз с модуля i18n и начните. В настройках этого модуля есть возможность выбрать каким образом у вас сайт будет делиться на разные языки, в том числе есть возможность деления за счет разных доменов. Два сайта делать не надо, оба домена привязываете к одному сайту.

Ну и еще почитайте где-нибудь про массив $conf['i18n_variables'], который вам, скорее всего, придется прописать в settings.php.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <1c7>, <drupal5>, <drupal6>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".