[РЕШЕНО] Проблема при вёрстки шаблона.

Не отображаются модуля в позициях.
zaq
Здравствуйте!
Создал позиции под модуля, а позиции не отображаются, то есть модуля в них.
В positions.txt прописал позиции:
banfooleft
banfooright
banfoocen
В template.php, в нужном мне месте прописал вставку позиций:
<?php if ($mod_count['banfooleft']) { ?>
<div id="banfooleft"><?php cmsModule('banfooleft'); ?></div>
<?php } ?>
<?php if ($mod_count['banfooright']) { ?>
<div id="banfooright"><?php cmsModule('banfooright'); ?></div>
<?php } ?>
<?php if ($mod_count['banfoocen']) { ?>
<div id="banfoocen"><?php cmsModule('banfoocen'); ?></div>
<?php } ?>
В styles.css прописал стили для позиций:
#banfooleft{
width:319px;
float: left;
height: auto;
}
#banfooright{
margin-right:-3px;
width:319px;
float: right;
height: auto;
}
#banfoocen{
margin: 0 auto;
width:319px;
height: auto;
}
После этого, я включаю, например, модуль "Поиска", и он не отображается в той позиции (banfooleft). Но когда убираю проверку существует ли модуль в этой позиции, то модуль отображается.
Подскажите пожалуйста, как можно решить такую проблему?
Gorec
эххех, а зачем вы каждый модуль проверяете?
""
zaq
Пробовал по разному. Не работает не как.

<?php if ($mod_count['banblofoo']) { ?>

<div id="banblofoo">

<div id="banfooleft"><?php cmsModule('banfooleft'); ?></div>

<div id="banfooright"><?php cmsModule('banfooright'); ?></div>

<div id="banfoocen"><?php cmsModule('banfoocen'); ?></div>

</div>

<?php } ?>

Проблему еще не решил.
Gorec
ну так же не делается, зачем проверка вам там нужна? она нужна если например модули в сайдбаре не подключены а место так остается пустым но отбирающим место.
""
zaq
Чтобы не оставалось пустое место, то есть отступ. А как иначе избавится от отступа?
Gorec
Если не работает знрачит не правильно пишешь код проверки. давай сейчас возьмем код из дефолтного шаблона и изучим то что там с сайдбаром сделано
Код PHP:
  1. if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
  2. $inUser = cmsUser::getInstance();
  3. $inCore = cmsCore::getInstance();
  4.  
  5. $mod_count['top'] = cmsCountModules('top');
  6. $mod_count['sidebar'] = cmsCountModules('sidebar');
Как мы видим из в конце кода есть позиция сайд бара которую я понимаю нужно проверить дальше в шаблоне находим это
Код PHP:
  1. <div id="mainbody" class="container_12">
  2. <div id="main" class="<?php if ($mod_count['sidebar']) { ?>grid_8<?php } else { ?>grid_12<?php } ?>">
  3. <?php cmsModule('maintop'); ?>
  4.  
  5. <?php $messages = cmsCore::getSessionMessages(); ?>
  6. <?php if ($messages) { ?>
  7. <div class="sess_messages">
  8. <?php foreach($messages as $message){ ?>
  9. <?php echo $message; ?>
  10. <?php } ?>
  11. </div>
  12. <?php } ?>
  13.  
  14. <?php cmsBody(); ?>
  15. <?php cmsModule('mainbottom'); ?>
  16. </div>
  17. <?php if ($mod_count['sidebar']) { ?>
  18. <div class="grid_4" id="sidebar"><?php cmsModule('sidebar'); ?></div>
  19. <?php } ?>
  20. </div>
В ней мы в самом начале видим код
Код PHP:
  1. <div id="main" class="<?php if ($mod_count['sidebar']) { ?>grid_8<?php } else { ?>grid_12<?php } ?>">
Где дается ширина контейнеру если есть сайдбар (grid_8) и если его нет (grid_12), тоесть идет проверка подключен ли какой нибудь модуль в сайдбаре или нет и в зависимости от этого дает нужную нам ширину.
Далее
Код PHP:
  1. <?php if ($mod_count['sidebar']) { ?>
  2. <div class="grid_4" id="sidebar"><?php cmsModule('sidebar'); ?></div>
  3. <?php } ?>
Здесь мы видим код проверки модуля в который заключена позиция для модуля сайдбара с шириной grid_4.
""
Gorec
Из всего перечисленного выходит что вы не доделали свой код проверки позиций для модуля. Например код проверки который я указал в самом начале а затем настройка всего остального
""
Gorec
Так наверное нужно вставить в начале файла
Код PHP:
  1. $mod_count['banfooleft'] = cmsCountModules('banfooleft');
  2. $mod_count['banfooright'] = cmsCountModules('banfooright');
  3. $mod_count['banfoocen'] = cmsCountModules('banfoocen');
  4.  
""
zaq
Gorec,

Спасибо за ответы, разобрался.
Перейти на форум:

Голосуем

Самый нужный компонент