Другие колонки для шаблона

2553
Приветствую сообщество.
Давненько меня тут не было)))
По просьбе raiden сделал вывод еще одного sidebar-а.

Первый вариант, как ему хотелось:
Левая широкая - основной контент, правых сайдбаров - два





В шапку шаблона добавляем
Код PHP:
  1. $mod_count['sidebar2'] = $this->countModules('sidebar2');
В теле шаблона меняем
Код PHP:
  1. <div id="mainbody" class="container_12">
  2. <div id="main" class="<?php
  3. if ($mod_count['sidebar2']&&$mod_count['sidebar']) { ?>grid_6<?php }
  4. elseif ($mod_count['sidebar2']||$mod_count['sidebar']) { ?>grid_9<?php } else { ?>grid_12<?php } ?>">
  5. <?php $this->printModules('maintop'); ?>
  6.  
  7. <?php $messages = cmsCore::getSessionMessages(); ?>
  8. <?php if ($messages) { ?>
  9. <div class="sess_messages" id="sess_messages">
  10. <?php foreach($messages as $message){ ?>
  11. <?php echo $message; ?>
  12. <?php } ?>
  13. </div>
  14. <?php } ?>
  15.  
  16. <?php if($this->page_body){ ?>
  17. <div class="component">
  18. <?php $this->printBody(); ?>
  19. </div>
  20. <?php } ?>
  21. <?php $this->printModules('mainbottom'); ?>
  22. </div>
  23. <?php if ($mod_count['sidebar']) { ?>
  24. <div class="grid_3" id="sidebar"><?php $this->printModules('sidebar'); ?></div>
  25. <?php } ?>
  26. <?php if ($mod_count['sidebar2']) { ?>
  27. <div class="grid_3" id="sidebar2"><?php $this->printModules('sidebar2'); ?></div>
  28. <?php } ?>
  29. </div>
Второй вариант - как обычно, сайдбары по краям))), скрины не делал, и так понятно.
Код PHP:
  1. <div id="mainbody" class="container_12">
  2. <?php if ($mod_count['sidebar']) { ?>
  3. <div class="grid_3" id="sidebar"><?php $this->printModules('sidebar'); ?></div>
  4. <?php } ?>
  5. <div id="main" class="<?php
  6. if ($mod_count['sidebar']&&$mod_count['sidebar2']) { ?>grid_6<?php }
  7. elseif ($mod_count['sidebar']||$mod_count['leftbar']) { ?>grid_9<?php } else { ?>grid_12<?php } ?>">
  8. <?php $this->printModules('maintop'); ?>
  9.  
  10. <?php $messages = cmsCore::getSessionMessages(); ?>
  11. <?php if ($messages) { ?>
  12. <div class="sess_messages" id="sess_messages">
  13. <?php foreach($messages as $message){ ?>
  14. <?php echo $message; ?>
  15. <?php } ?>
  16. </div>
  17. <?php } ?>
  18.  
  19. <?php if($this->page_body){ ?>
  20. <div class="component">
  21. <?php $this->printBody(); ?>
  22. </div>
  23. <?php } ?>
  24. <?php $this->printModules('mainbottom'); ?>
  25. </div>
  26. <?php if ($mod_count['sidebar2']) { ?>
  27. <div class="grid_3" id="sidebar2"><?php $this->printModules('sidebar2'); ?></div>
  28. <?php } ?>
  29. </div>
PS...
В файл CSS шаблона нужно добавить:
Код PHP:
  1. /********************************* Сайдбар2 ************************************/
  2. #sidebar2 .module{
  3. padding:15px;
  4. background:#E0EAEF;
  5. display:block;
  6. overflow:hidden;
  7. border-radius:10px;
  8. -moz-border-radius:10px;
  9. margin-bottom:7px;
  10. -moz-box-shadow:0 2px 0 #000;
  11. box-shadow:0 2px 0 #000;
  12. }
  13.  
  14. #sidebar2 .moduletitle{
  15. font-size:18px;
  16. margin-bottom:10px;
  17. color:#1873AA;
  18. text-shadow:0 2px 0 #FFFFFF;
  19. }
  20.  
  21. #sidebar2 .modulebody p{
  22. margin-bottom:10px;
  23. }
ну или свои стили.
"Фейк" Фейсбука для 1.10.1
Комментарии (25)
Raiden 11 июля 2014 в 10:21 0
""
Спасибо вам большое, добрый человек!!!
""
Побежал лепить новый шаблончик)
Джехутимери 11 июля 2014 в 11:16 0
Только id второго сайдбара нужно оставить как id="sidebar", чтобы не дублировать строки в стилях.
Raiden 11 июля 2014 в 11:27 +1
Всё правильно он сделал. А если мне нужно чтобы эти сайдбары отличались стилистически?
Джехутимери 11 июля 2014 в 12:30 0
Я смотрел на скриншот, а не на перспективу. Разумеется, что нужно будет сменить id и прописать стили, чтобы блоки отличались.
Raiden 11 июля 2014 в 12:52 0
Скриншот нужен здесь для тех, кто не в теме) Кто не понял бы например разницу первого и второго вариантов кода. В общем чисто для пояснения. v
LonelyCat 11 июля 2014 в 15:13 0
Стили явно будут разные)))
NeBox 11 июля 2014 в 16:49 0
id должны быть уникальны на странице.
Джехутимери 11 июля 2014 в 17:17 0
Не обязательно, позиции две одинаковых быть не может, а id - сколько угодно.
NeBox 11 июля 2014 в 20:00 +1
какие позиции? я про html атрибут id, который должен быть уникален. на то он и идентификатор.
для стилей классы одинаковые расставлять нужно.
http://htmlbook.ru/html/attr/id
http://www.w3schools.com/tags/att_global_id.asp
Raiden 11 июля 2014 в 21:24 0
Спасибо, не знал. Буду иметь ввиду. zst
Александр 11 июля 2014 в 13:50 0
Вот только как правило компоненты по умолчанию не приспособлены к двум широким сайдбарам, например форум и с одним не очень дружит.
LonelyCat 11 июля 2014 в 15:13 0
Всё правится, и притом в нескольких строчках.
Raiden 11 июля 2014 в 15:37 0
Ключевые слово "по умолчанию") И в этом суть изготовления шаблонов для инстанта. Кроме натягивания оболочки, надо ещё учитывать разницу между модулями и компонентами. Сделать так, чтобы всё выводилось корректно в своих позициях. Ну вы меня понимаете
eoleg 11 июля 2014 в 22:50 +1
+
Ну еще вставить баннер в шапку, в подвал пару - тройку позиций да еще растянуть до 1200 px и дефолтный шаблон будет вне конкуренции! smile
Олег Васильевич я 11 июля 2014 в 23:35 0
растянуть до 1200 px
можно поинтересоваться чё не 1205 shock ?
Олег Васильевич я 11 июля 2014 в 23:37 0
LonelyCat, извините за флуд!
LonelyCat 12 июля 2014 в 07:02 0
так это в комментах уже давно в порядке вещей)))
LonelyCat 12 июля 2014 в 07:02 0
так это в комментах уже давно в порядке вещей)))
eoleg 12 июля 2014 в 00:28 0
Спойлер
Clear 14 июля 2014 в 10:18 0
Да хоть 1600px ))) Вот ТУТ строите, скачиваете, загружаете в шаблон и заменяете в хедере в подключении стилей 960.css на 1200.css. Дальше конечно нужно будет подстроить немного желаемую ширину блоков на ваше усмотрение container_X и grid_X В самом шаблоне.

Надеюсь понятно )))
Clear 14 июля 2014 в 10:25 0
ДОбавлю скринов
1 Залитые файлы стилей
""

2 Подключаем в хедере свой файл
""

3 тут корректируем ширину если надо.
""
LonelyCat 12 июля 2014 в 07:01 0
так все начинают именно с него))).
а тут цель не наделать позиций кучу, а показать начинающим, как можно сделать.
Петр 14 июля 2014 в 10:05 +3
Не забудьте добавить в positions.txt - sidebar2
Ї Ђãîķℳāŋ Ї 30 мая 2015 в 16:53 +1
Ставлю плюща!+
""
Ї Ђãîķℳāŋ Ї 2 декабря 2015 в 20:41 +1
Делал когда то дав боковых сайт бара на 1.9 . Пробовал сотворить подобное с 1 10 .6 не выходит! Чувствую решение рядом, но где? facepalm laugh