Вопрос по поводу создания собственного шаблона.

 
Посетитель
no avatar
Сообщений: 69
Всем привет! Скажите, я вот хочу создать шаблон для сайта, но чтобы он был динамическим, т.е. информация отображалась на сайте с учетом включенных колонок - правой или левой. Я внес необходимые правила в индексный файл шаблона через php, но у меня эти правила работаю только если на сайте включена правая колонка и основной контент или левая колонка и основной контент. А как сделать, чтобы когда включаешь обе колонки и правую и левую центральный блок с контентом не съезжал вниз? Я так понимаю надо добавить еще одно правило, которое определяет что на сайте включены обе колонки. Спасибо заранее....
Мои сайты:
Мой блог
www.spravkapc.ru - Справочник ПК
www.ourkoshki.ru - Все о кошках
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
или необходимо переопределить стили ксс, блок контента может просто “выталкиваться” вниз если нарушает нормальный поток элементов, например фиксированными размерами или определением позиции (position) или обтеканием (float)…
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 315
Zaur:
Я внес необходимые правила в индексный файл шаблона через php, но у меня

я так понял, проблема в верстке, а не в
Zaur:
Я так понимаю надо добавить еще одно правило, которое определяет что на сайте включены обе колонки.
Россия - страна недокументированных возможностей.
Шаблоны Блог.
Посетитель
no avatar
Сообщений: 83
2 div`а , один с фиксированной шириной.
Если нужна только одна колонка, то div в фиксированной шириной просто не выводится, тогда оставшийся div будет заполнять всю область.
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
у человека три колонки, а задаёт он просто условия видимости без задания свойств, насколько я понял…
Редактировалось: 1 раз (Последний: 16 мая 2011 в 19:06)
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Посетитель
small user social cms
Медаль
Сообщений: 315
rim89:
2 div`а , один с фиксированной шириной.

а я понял, что две колонки
Россия - страна недокументированных возможностей.
Шаблоны Блог.
Посетитель
no avatar
Сообщений: 69
Ребят вы все неправильно поняли. Верстку я делаю правильно и стили я все указываю, я этих шаблонов на инстанте уже не один десяток сделал. Просто до этого они все были статическими, т.е. в трехколоночном шаблоне отключить к примеру правую колонку, то центральный блок не растягивается на ширину правой колонки, а остается на месте. Мне же нужно чтобы центральный блок с контентом растягивался и сужался в зависимости от появления колонок. Вот пример: У нас есть трехколоночный макет.
1. Включены все три колонки - центаральный блок принимает класс, к примеру, class="wrap", левая колонка class="left", правая class="right". В данном случае блоку wrap задаются одни стили.
2. Включена левая колонка и центральный блок, здесь уже центральный блок принимает class="wrap_left" и для него задаются уже другие стили
3. Включена правая колонка и центарльный блок, здесь уже задается class="wrap_right" и уже для центрального блока задаются другие стили.
4. Выключена и правая и левая колонки, центральный блок растягивается на всю ширину.
Теперь собственно вопрос, как прописать через php, чтобы центральный блок менял свой класс в зависимости от того какая колонка включена? Я это все не из воздуха взял. Данную методику применил на Джумла и все прекрасно работает, я пользовался шпаргалкой из другого шаблона. На иснстанте же нет такой шпаргалки, вот я и прошу у вас помощи.
Мои сайты:
Мой блог
www.spravkapc.ru - Справочник ПК
www.ourkoshki.ru - Все о кошках
InstantCMS Team
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1176
Допустим в левой колонке у вас позиция left, в правой - right

в начале шаблона вычисляете класс:
Код PHP:
  1.  
  2. $is_left = cmsCountModules('left');
  3. $is_right = cmsCountModules('right');
  4.  
  5. if ($is_left && $is_right) {
  6. //включена левая и правая колонка
  7. $class = "both";
  8. } else if ($is_left) {
  9. //включена только левая колонка
  10. $class = "only_left";
  11. } else if ($is_right) {
  12. //включена только правая колонка
  13. $class = "only_right";
  14. } else {
  15. //боковых колонок нет
  16. $class = "no_sides";
  17. }
  18.  
Затем к центральному диву класс привязываете:

Код PHP:
  1. <div class="<?php echo $class; ?>"> ... </div>
Редактировалось: 1 раз (Последний: 16 мая 2011 в 21:36)
Вопросы и ответы
Посетитель
no avatar
Сообщений: 69
Спасибо за помощь. Попробую ваш вариант. smile
Мои сайты:
Мой блог
www.spravkapc.ru - Справочник ПК
www.ourkoshki.ru - Все о кошках
Посетитель
small user social cms
Медаль
Сообщений: 129
отличный универсальный шаблон получился..
Админ спасибо за быстрый ответ!!
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.