Условие наличия виджетов в колоне шаблона

#1 6 сентября 2016 в 18:36
Помогите изменить условие в шаблоне:
  1. <?php
  2. $is_sidebar_left = $this->hasWidgetsOn('left-top', 'left-center', 'left-bottom');
  3. $is_sidebar_right = $this->hasWidgetsOn('right-top', 'right-center', 'right-bottom');
  4. $section_class = $is_sidebar_left ? 'if_left' : 'full';
  5. ?>
Необходимо добавить проверку на наличие виджетов сразу в is_sidebar_left И is_sidebar_right и добавить свой класс для переменной section_class
#2 6 сентября 2016 в 21:43
Насколько помню, здесь есть нужный вам пример.
#3 6 сентября 2016 в 22:29
  1. <?php $is_sidebar_left = $this->hasWidgetsOn('left-top', 'left-center', 'left-bottom');
  2. $is_sidebar_right = $this->hasWidgetsOn('right-top', 'right-center', 'right-bottom');
  3. if($is_sidebar_left && $is_sidebar_right){
  4. $section_class = 'sectionclass1';
  5. } elseif($is_sidebar_left && !$is_sidebar_right){
  6. $section_class = 'sectionclass2';
  7. } elseif(!$is_sidebar_left && $is_sidebar_right){
  8. $section_class = 'sectionclass3';
  9. } else{
  10. $section_class = 'sectionclass4';
  11. }
  12.  
  13.  
  14.  
  15.  
  16. <?php if($is_sidebar_left){ ?>
  17. <div>
  18. <?php $this->widgets('left-top', 'left-center', 'left-bottom', true, 'wrapper'); ?>
  19. </div>
  20. <?php } ?>
  21.  
  22. <section class="<?php echo $section_class; ?>">
  23. <?php $this->body(); ?>
  24. </section>
  25.  
  26. <?php if($is_sidebar_right){ ?>
  27. <div>
  28. <?php $this->widgets('right-top', 'right-center', 'right-bottom', true, 'wrapper'); ?>
  29. </div>
  30. <?php } ?>
  31.  
  32.  
Я конечно нуб в php, но примерно так, может профессионалы поправят))

Здесь идет проверка на наличие садбаров, если есть оба сайдбара, то центральной части присваивается класс sectionclass1, если есть левый, но нет правого, то sectionclass2, если нет правого, но есть левый — sectionclass3, если нет ни того ни другого, то sectionclass4.

Вроде бы нигде не ошибся, если что, можете закидать камнями))
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.