Выводить блок, только если регион пуст

Аватар пользователя alexej.schmidt alexej.schmidt 30 ноября 2015 в 16:17

Добрый день,

у меня есть небольшой вопрос, как настроить блок в D7 таким образом, чтобы он выводился только в том случае, если в определенном регионе нет никакого другого блока.

В настройках блока есть возможность, установить PHP код. Я пытался эксперементировать с <?php if (empty(($page['banner'])) ?>

Но у меня не работает. Значение TRUE не возвращается.

Помогите пожалуйста.

Заранее большое спасибо!

Комментарии

Аватар пользователя dropout dropout 30 ноября 2015 в 18:14

зайди в шаблон пейджа и посмотри, что там написано условие, что регион выводится только если в нем есть содержимое. обычно их так выводят.
можешь поступить проще. Создай еще один регион в этой html секции и выводи там свой блок.

Аватар пользователя tlito tlito 30 ноября 2015 в 18:26
<?php if ($page['sidebar_first']): ?>
      <aside id="sidebar" role="complementary">
       <?php print render($page['sidebar_first']); ?>
      </aside> 
    <?php endif; ?>

вы можете составить такое условие для ваших регионов, например, если нет блоков в регионах: top1, slider, head_text, то отобразить регион banner :

<?php if ( (!$page['top1']) && (!$page['slider']) && (!$page['head_text'])  ) { 
  print 
render($page['banner']); 
?>
Аватар пользователя alexej.schmidt alexej.schmidt 1 декабря 2015 в 22:43

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

Создал дополнительный регион, туда вывел блок. Если соседний регион "empty", то регион выводится, если нет - то нет.