Включить шаблоны на основе текущего языка с drupal - PullRequest
1 голос
/ 15 февраля 2011

Я ищу быстрый способ отображения конкретного файла шаблона на основе текущего языка страницы.

Допустим, у меня есть два языка: английский и французский (по умолчанию английский)

У меня есть различные файлы шаблонов, например: page.tpl.php page-node-11.tpl.php в каталоге моей темы.

Я хотел бы найти способ включить эти файлына основе текущих языков;Так, например, если текущий язык «английский», он будет включать «page.tpl.php», если текущий язык «французский», он будет включать «fr / page.tpl.php».

Я уверен, что это довольно просто, но не могу понять, как;в template.php?

Спасибо за любую помощь.

1 Ответ

2 голосов
/ 15 февраля 2011

Предполагая, что вы используете модуль интернационализации , вместо изменения шаблона для каждого языка, вы можете рассмотреть возможность использования класса CSS , установленного в теге body . Я использовал эту технику на сайтах раньше, и это было проще, чем иметь дело с другим файлом шаблона. Если вы не используете модуль i18n, вы все равно можете добавить класс body в функцию preprocess_page.

Если у вас не работает класс body, вы можете посмотреть патч из вышеприведенного вопроса, чтобы узнать, как добавить язык в массив переменных во время предварительной обработки. Затем см. На странице справочника Работа с предложениями шаблонов о том, как добавлять предложения шаблонов на основе недавно добавленной информации о языке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...