Не выводятся модули в позиции

#1 27 июня 2014 в 22:08
Не могу понять, в чем косяк. Не буду выкладывать много див-оберток, а покажу часть кода:

  1. <?php if($this->page_body){ ?>
  2. <div id="middle">
  3. <div class="content-right">
  4. <?php $this->printModules('news_sideleft'); ?>
  5. <?php $this->printModules('news_sideleftbottom'); ?>
  6. </div>
  7. <div class="content-left">
  8. <?php $messages = cmsCore::getSessionMessages(); ?>
  9. <?php if ($messages) { ?>
  10. <div class="sess_messages" id="sess_messages">
  11. <?php foreach($messages as $message){ ?>
  12. <?php echo $message; ?>
  13. <?php } ?>
  14. </div>
  15. <?php } ?>
  16. <?php $this->printBody(); ?>
  17. <?php $this->printModules('news_mainbottom'); ?>
  18. </div>
  19. <div class="clear"></div>
  20. </div>
  21. </div>
  22. </div>
  23.  
  24. <div class="sidebar" id="sideRight">
  25. <?php $this->printModules('sidebar'); ?>
  26. <?php $this->printModules('sidebarmiddle'); ?>
  27. <?php $this->printModules('sidebarbottom'); ?>
  28. <div class="clear"></div></div>
  29. </div></div> <?php } ?>
Все позиции норм выводят модули. Компоненты так же выводятся. Не работают позиции в сайтбаре.

  1.  
  2. <?php $this->printModules('sidebar'); ?>
  3. <?php $this->printModules('sidebarmiddle'); ?>
  4. <?php $this->printModules('sidebarbottom'); ?>
  5.  
Вот эти 3 штуки. Притом, если задать в админке вывод на всех страницах — отображает. Если отдельно на какой-то — ни в какую. Дописывал и условие if, на проверку. Ничего.

С чем может быть это связано?
#2 27 июня 2014 в 22:51
<?php if($this->page_body){ ?> это за что отвечает?
#3 27 июня 2014 в 22:56
Gorec, как я полагаю, за вывод блоков компонентов. И не в этом участке проблема. Уже по разному добавлял/убирал — все так же. Изначально так же думал, что может с этой строкой чего связано, но увы, она не при делах.
#4 27 июня 2014 в 23:01

И не в этом участке проблема.

scanread
Возможно в этом. Вот дефолтовый участок кода
  1. <?php if($this->page_body){ ?>
  2. <div class="component">
  3. <?php $this->printBody(); ?>
  4. </div>
  5. <?php } ?>
А в вашем? Сайдбар не должен лежать в этом условии.
#5 27 июня 2014 в 23:04
Если у вас модульная позиция с условием присутствия на ней модуля, допишите модульную позицию в шапке в этот блок
  1. // Получаем количество модулей на нужные позиции
  2. $mod_count['top'] = $this->countModules('top');
  3. $mod_count['topmenu'] = $this->countModules('topmenu');
  4. $mod_count['sidebar'] = $this->countModules('sidebar');
#6 27 июня 2014 в 23:30
Олег Васильевич я, с каким этим?) Данный шаблон отношения к Андрею не имеет)
Lora, дык у меня ж аналогично. Притом не впервой уже так прописываю, везде все работало. А здесь не хочет что-то. Причины не знаю.
Нил, это есть. Результат тот же. =(

апдейт. Заметил одну странность, позиция по умолчанию на неких модулях не сохраняется. Установка чистая 10,4 (на дефолте все ок сохраняет, на своем шаблоне — ). Может быть в этом проблема? Проверял, если задавать позицию по умолчанию, и вывод на всех страницах, выводит, но при заходе в этот модуль, позиция по умолчанию показывается совсем другая. Если задать вывод модуля на отдельные страницы, то по умолчанию позиция так же не сохраняется.
#7 28 июня 2014 в 00:12
Lora, Соглашусь с Вами:

Попробуйте модули опубликовать за пределами этого условия,
  1. <?php if($this->page_body){ ?><?php } ?>
нет контента- нет модуля…
Это я так понимаю!
#8 28 июня 2014 в 00:29
AlexWerner, без изменений. Контент есть на любой внутренней странице. Поскольку данный код отвечает за вывод шаблона компонентов, будь то новости, статьи, блоги, клубы, фото и т.п. — не важно.
#9 28 июня 2014 в 00:36
Твою дивизию. Ну это западло, конечно… полвечера колупать код… и найти опечатку в файле позиций. После позиций сайтбара стоит 2 пробела, которые просто так не заметишь, пока не "полетаешь" курсором влево-вправо. Ожидал чего угодно, но не такого. Даже подумать не мог, что это так может повлиять. Всем спасибо, головоломка решена. Сами не попадитесь на подобное joke
#10 28 июня 2014 в 00:45
бывает. тоже смотрел код на очепятки но не заметил)
#11 4 июля 2014 в 23:47
Не закрывал тему, как чувствовал. В общем, проблема та же. В одном блоке идет вывод

<?php $this->printModules('news_sidebarleft_top'); ?>
<?php $this->printModules('news_sidebarleft_bottom'); ?>

Верхние модули что в news_sidebarleft_top отображаются без проблем, а что в news_sidebarleft_bottom помещаю — не отображаются. После сохранения настроек модуля, все скидывается на первую позицию usermenu. Т.е., сохранять — не сохраняет. Ошибок уже таких как были нет, и почему не работает — даже уже предположить не могу… Не хочет и все. С чем связано — не пойму.

UPDATE

Не актуально. Оказывается, длина позиции не может быть длиннее 20 символов. laughвот же камней то подводных сколько с этими позициями.
#12 16 февраля 2015 в 10:42
И правильно, что не закрывал.
Я поставил 1.10.6 и после правки у меня все модули просто исчезали. Отредактировал блок, сохранил и тыц — а его нету.
Косячил sidebar — он стоял первым в списке, поставил перед ним другую позицию, отредактировал блоки и вуаля — уже пишу Вам благодарность (а сегодня между прочим 3 день как мучаюсь с этой ерундой!)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.