Как отобразить один блок среди двух блоков в Drupal? - PullRequest
2 голосов
/ 15 марта 2012

У меня есть два блока (например, Блок1 и Блок2), и мне нужно отобразить один блок среди двух. Состояние Block1 будет отображаться на всем сайте, если Block2 там отсутствует. Блок 2 будет отображаться на определенных страницах, которые управляются динамически, то есть когда пользователь создает контент в будущем, он может управлять отображением блока 2. Поэтому мне нужно отобразить Block1, где нет Block2.

Я использую Durpal 7.

Примечание: я пробовал с видимостью блока по умолчанию, но у меня это тоже не получалось.

1 Ответ

2 голосов
/ 15 марта 2012

Вы можете сделать это разными способами.

Используя template_preprocess_page () в файле template.php вашей темы.Вам понадобятся 2 блока, напечатанные на странице.Блок1 и Блок2.Я предполагаю, что Block1 находится в region_1, а block_2 - в region_2, а ваша тема называется mytheme.

внутри вашей функции template_preprocess_page () в файле template.php темы:

function mytheme_preprocess_page(&$variables)
{
    if(isset($variables['page']['region_2']['block2']))
    {
        hide($variables['page']['region_1']['block1']);
    }
}

Таким образом, Block1 никогда не будет напечатан, если присутствует Block 2.

Надеюсь, это поможет,

Мухаммед.

...