Установки видимости блока в зависимости от языка в Drupal

Аватар пользователя artur.baranok
Опубликовано пн, 07/06/2015 - 16:25 пользователем artur.baranok
Форумы: 

Представим, что у нашего сайта на Drupal (v.6) несколько языковых версий (русская и английская), а нам нужно сделать так чтобы свежесозданный блок отображался только на русской версии. Условимся, что для многоязычности будем использовать базовый модуль Content translation.

Итак, для этого пройдём на страницу редактирования нужного блока (Главная » Управление » Конструкция сайта » Блоки » Блок).

Находим внизу опцию "Установки видимости для страницы", выбираем пункт "Показать, если данный PHP-код возвращает TRUE" и вписываем следующий код:

<?php global $language;if($language ->language == "ru") return
true;
else return false;
?>

Сохраняем, и этот блок будет отображаться только на русской версии сайта (заменяем ru на en - только на английской).

Если этот блок нужно отображать только на главной странице русской версии сайта, то код будет выглядеть так:

<?php
global $language;
if($language->language == 'be' && drupal_is_front_page()) {
return true;
}
?>

Вот такой простой способ. Успешно используется на нескольких сайтах.