CMS BODY

 
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1112
Код PHP:
  1. <div id="main">
  2. <?php if ($mod_count['sidebar']) { ?>
  3. <div id="sidebar">
  4. <?php cmsModule('sidebar'); ?>
  5. </div>
  6. <?php } ?>
  7.  
  8. <?php if ($mod_count['right']) { ?>
  9. <div id="body">
  10. <?php cmsBody(); ?>
  11. </div>
  12. <div id="right">
  13. <?php cmsModule('right'); ?>
  14. </div>
  15. <?php else : ?>
  16. <?php cmsBody(); ?>
  17. <?php endif; ?>
  18.  
  19. </div>
Как решить задачку, чтобы при наличии right расположение было: сайдбар | боди | право
При наличии только сайдбар и боди - сайдбар | боди
При наличии только боди - | боди |

нужен только код, а со стилями разберемся самостоятельно
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Как то раз уже задавал такой вопрос, давно это было. Ответа на него к сожалению не нашлось. Решил проблему с помощью CSS. Задал колонкам минимальную ширину 0 (можно просто не указывать ширину), но в этом случае придется модулям в этих колонках присваивать ширину. Немножко геморно, но зато работает.
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 692
Минона, я что-то не пойму чем ваше "как сделать?" отличается от того, что уже есть в вами же приведенном коде? Или вы хотите чтоб при наличии right сайдбар выводился независимо от того есть или нет в нем хоть один модуль?
В чем смысл такой затеи?
Skype: pasha--g
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2791
Если подойдёт как в этом шаблоне, дайте знать.
Или просто скачайте шаблон и возьмите себе весь <div id="center"> </div> из template.php (в этом случае надо выставить проверку на наличие назначенных модулей в позиции left и sidebar (последний - ваш right). Там сайтбары пустые не выводятся.
Удачи!
Редактировалось: 1 раз (Последний: 18 июня 2012 в 16:49)
Украинский для инстант
Посетитель
small user social cms
Медаль
Сообщений: 118
Для примера можно так:
Код PHP:
  1. <?php if ($mod_count['left']) { ?>
  2. <?php if ($mod_count['sidebar']){ ?>
  3. <!-- ***************** all ******************* -->
  4.  
  5. <!-- ************************************ -->
  6. <?php } else { ?>
  7. <!-- ****************** left center ****************** -->
  8.  
  9. <!-- ************************************ -->
  10. <?php } ?>
  11. <?php } else { ?>
  12. <?php if ($mod_count['sidebar']){ ?>
  13. <!-- ****************** center right****************** -->
  14.  
  15. <!-- ************************************ -->
  16. <?php } else { ?>
  17. <!-- ****************** center ****************** -->
  18.  
  19. <!-- ************************************ -->
  20. <?php } ?>
  21. <?php } ?>
Создание веб проектов на Yii2 framework.
Разработка шаблонов для InstantCMS, модулей, компонентов.
lw-soft.com.ua
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
Минона, если добавлять условия вида:

Код PHP:
  1. <?php if ($mod_count['right']) { ?>
то нужно в самом верху шаба добавить

Код PHP:
  1. $mod_count['right'] = cmsCountModules('right');
иначе работать не будет, по крайней мере у меня не работало)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1112
Pasha:

Минона, я что-то не пойму чем ваше "как сделать?" отличается от того, что уже есть в вами же приведенном коде? Или вы хотите чтоб при наличии right сайдбар выводился независимо от того есть или нет в нем хоть один модуль?
В чем смысл такой затеи?

0_o код писался просто руками не откуда не копируясь - оно что, может работать???

Yurik:

Для примера можно так:

Простите, но тут вообще не понятно ничего.

all - это означает и право и лево и центр?
left center - сайдбар и центр?
center right - право и лево? (право может по ширине растягиваться?
Редактировалось: 1 раз (Последний: 18 июня 2012 в 23:57)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
Минона, вот кусок кода как я делал у себя:
Код PHP:
  1. <div id="mainbody" class="container_16">
  2.  
  3. <?php if ($mod_count['sidebar1']) { ?>
  4. <div class="grid_2" id="sidebar"><?php cmsModule("sidebar1");?></div>
  5. <?php } ?>
  6.  
  7. <div id="main" class="<?php if (($mod_count['sidebar1']) || ($mod_count['sidebar'] )) {
  8. if (($mod_count['sidebar1']) && ($mod_count['sidebar'] )) { ?> grid_11<?php }
  9. else {
  10. if ($mod_count['sidebar1']) { ?> grid_14<?php }
  11. else {
  12. if ($mod_count['sidebar']) { ?> grid_13<?php }
  13. }}
  14. }
  15. else { ?>grid_16<?php } ?>">
  16.  
  17.  
  18. <?php cmsModule('maintop'); ?>
  19.  
  20.  
  21.  
  22.  
  23. <?php $messages = cmsCore::getSessionMessages(); ?>
  24. <?php if ($messages) { ?>
  25. <div class="sess_messages">
  26. <?php foreach($messages as $message){ ?>
  27. <?php echo $message; ?>
  28. <?php } ?>
  29. </div>
  30. <?php } ?>
  31.  
  32. <?php cmsBody(); ?>
  33. <?php cmsModule('mainbottom'); ?>
  34. </div>
  35. <?php if ($mod_count['sidebar']) { ?>
  36. <div class="grid_3" id="sidebar"><?php cmsModule('sidebar'); ?></div>
  37. <?php } ?>
  38. </div>
sidebar1 - это левый сайтбар... все остальное дефлотное...
также у меня сетка 16 колоночная, но это не важно - саму суть думаю поймете...

возможные отображения:
- просто боди на весь грид
- боди и левый сатдар
- боди и правый сайтбар
- боди и два сайтбара вместе (забыл про него)))

Если в позиции ничего нет то пустого места не будет - всегда занят веся сетка грид)
То есть как заполните позиции так и будет на сайте - если позиция не заполнена то и выводиться не будет!)

Надеюсь что помог)
Я не профи делал для себя сам, может что и не правильно или не по феншую, но работает))
Редактировалось: 1 раз (Последний: 19 июня 2012 в 00:49)
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 531
Как вариант:

Код PHP:
  1.  
  2.  
  3. <!-- Columns Container -->
  4.  
  5. <div id="page">
  6. <div class="clear"></div>
  7. <div id="mainbody" class="container_12">
  8. <?php if ($mod_count['leftbar']) { ?>
  9. <div class="grid_3" id="leftbar"><?php cmsModule('leftbar'); ?></div>
  10. <?php } ?>
  11. <div id="main" class="<?php
  12. if ($mod_count['sidebar']&&$mod_count['leftbar']) { ?>grid_6<?php }
  13. elseif ($mod_count['sidebar']||$mod_count['leftbar']) { ?>grid_9<?php } else { ?>grid_12<?php } ?>">
  14. <?php cmsModule('maintop'); ?>
  15. <?php $messages = cmsCore::getSessionMessages(); ?>
  16. <?php if ($messages) { ?>
  17. <div class="sess_messages">
  18. <?php foreach($messages as $message){ ?>
  19. <?php echo $message; ?>
  20. <?php } ?>
  21. </div>
  22. <?php } ?>
  23. <?php cmsBody(); ?>
  24. <?php cmsModule('mainbottom'); ?>
  25. </div>
  26. <?php if ($mod_count['sidebar']) { ?>
  27. <div class="grid_3" id="sidebar"><?php cmsModule('sidebar'); ?></div>
  28. <?php } ?>
  29. </div>
  30. </div>
  31.  
  32. <!-- Columns Container -->
  33.  
  34.  
При наличии грида,например,960.css
Сам Грид фреймворк можно сформировать под себя здесь,там 2 варианта,резина и фиксированный.
http://grids.heroku.com/
Редактировалось: 2 раз (Последний: 19 июня 2012 в 03:20)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
У меня немного иначе так как левый и правый сайтбары имеют разную ширину, поэтому при наличии одного из сайтбаров и разная ширина основного тела, то есть проверка должна быть какой именно из сайтбаров присутствует)
на одно условие больше - но малина таже)
Посетитель
small user social cms
Медаль
Сообщений: 128
Посмотрите, у меня так как вам надо?
Сайт
Если да, выложу код.
Интерес один - http://kznmed.ru
Проверенный хостинг под Instant http://goo.gl/6W6WV
Монетизирую сайт тут http://goo.gl/vux68
Посетитель
small user social cms
Медаль
Сообщений: 434
Минона, почитайте эти записи, мне кажется там то что вам нужно, там для второй ветки системы но и на первой тоже работает.
http://aksucity.net
Модератор
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форума
Сообщений: 1422
День спамера-археолога...
Нормальный хостинг, сервера быстрые - пользуюсь сам.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1842
Вот код для трех колоночного шаблона, все работает
Код PHP:
  1.  
  2. $mod_count['left'] = $inPage->countModules('left');
  3. $mod_count['right'] = $inPage->countModules('right');
  4.  
  5. $is_left = cmsCountModules('left');
  6. $is_right = cmsCountModules('right');
  7.  
  8. if ($is_left && $is_right) {
  9. //включена левая и правая колонка
  10. $class = "span6";
  11. } else if ($is_left) {
  12. //включена только левая колонка
  13. $class = "span9";
  14. } else if ($is_right) {
  15. //включена только правая колонка
  16. $class = "span9";}
  17. else {
  18. //боковых колонок нет
  19. $class = "span12";}
Код PHP:
  1.  
  2. <div id="mainbody" class="row">
  3. <?php if ($mod_count['left']) { ?>
  4. <div class="span3" id="left"><?php $inPage->printModules('left'); ?></div>
  5. <?php } ?>
  6. <div id="main" class="<?php echo $class; ?>">
  7. <?php $inPage->printModules('maintop'); ?>
  8.  
  9. <?php $messages = cmsCore::getSessionMessages(); ?>
  10. <?php if ($messages) { ?>
  11. <div class="sess_messages">
  12. <button class="close" data-dismiss="alert" type="button">×</button>
  13. <?php foreach($messages as $message){ ?>
  14. <?php echo $message; ?>
  15. <?php } ?>
  16. </div>
  17. <?php } ?>
  18.  
  19. <?php if($inPage->page_body){ ?>
  20. <div class="component">
  21. <?php $inPage->printBody(); ?>
  22. </div>
  23. <?php } ?>
  24. <?php $inPage->printModules('mainbottom'); ?>
  25. </div>
  26. <?php if ($mod_count['right']) { ?>
  27. <div class="span3" id="right"><?php $inPage->printModules('right'); ?></div>
  28. <?php } ?>
  29. </div>
  30.  
Чем меньше знаешь - тем Больше тупой.
OneMinima шаблон ICMS2
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1842
Код взят из рабочего шаблона
Чем меньше знаешь - тем Больше тупой.
OneMinima шаблон ICMS2
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.