Разные фона. Instantcms 2.x

#1 3 июля 2016 в 15:15
Здравствуйте!

Не подскажете, кто знает, как организовать разные фоны на разных страницах для instantcms 2. Т.е. у главной страницы один фон, а внутренних другой.

Спасибо заранее!
#2 3 июля 2016 в 17:18
Instyler или сами прописывайте для разных страниц разные стили для body используя !important
#3 3 июля 2016 в 17:34

Instyler

Kreator

этот вариант не подходит

сами прописывайте для разных страниц разные стили для body используя !important

Kreator

мне надо как нибудь с помощью php в файле main.tpl.php сделать. но как не знаю facepalm
#4 3 июля 2016 в 17:47
GNabi, напишите условие на PHP, где переменными будут адреса и отдельные, допустим, CSS файлы… Готового решения вам не дадут точно. sad
#5 3 июля 2016 в 18:03
Azura, а как для первой ветки определяется главная страница?
для первой — if($inCore->menuid()==1)
#6 3 июля 2016 в 18:05
GNabi, Увы, вот с этим не подскажу… я очень слабый программер. sadТем более по второй ветке...) Я с первой-то до конца не разобралась...)
#7 3 июля 2016 в 18:14
На вскидку: на нужную страницу вывести виджет "HTML блок".
В вкладке "Опции" прописать нечто типа:
  1.  
  2. <style>
  3. body{background:#fff}
  4. </style>
  5.  
В вкладке "Дизайн" в поле "Шаблон контейнера "указать шаблон обёртки wrapper_plain
Сможете баловаться на всю катушку (для любой страницы переопределять стиль).
Удачи!
#8 3 июля 2016 в 18:16
<?php $bodyclass = $core->uri? 'all-pages': 'home-page'; ?>
................
................

<body class="<?php echo $bodyclass; ?>">
#9 3 июля 2016 в 18:20
GNabi,

Всё правильно Azura говорит. Надо в main.tpl.php изменить строку
  1. <?php $this->addMainCSS("templates/{$this->name}/css/theme-layout.css"); ?>
на
  1. <?php if (находимся на главной странице) {$this->addMainCSS("templates/{$this->name}/css/theme-layout1.css"); } else {$this->addMainCSS("templates/{$this->name}/css/theme-layout.css");}?>
И сделать дубль файла theme-layout.css — theme-layout1.css, где будет изменет фон сайта:
  1. body {
  2. background: url("../images/ваш_фон.png");
  3. margin:0;
  4. padding:0;
  5. }
Вот только не знаю, что писать в условии. Может кто знающий подскажет…
#10 3 июля 2016 в 18:37


Вот только не знаю, что писать в условии. Может кто знающий подскажет...

HiAndy
Знающий написал коммент выше.
Для вашего примера можно:
  1.  
  2. <?php if ($_SERVER["REQUEST_URI"] == "/"){ ?>
  3. гланая
  4. <?php } else { ?>
  5. остальные
  6. <?php } ?>
  7.  
Такой вариант будет предпочтильнее если нужно изменить стиль один раз.
#11 4 июля 2016 в 01:35
HiAndy, Pasha, Спасибо!

Олег Васильевич я, Ты меня как всегда выручаешь ))) Спасибо большое!))
#12 4 июля 2016 в 05:13

на нужную страницу вывести виджет "HTML блок"

Олег Васильевич я
От себя добавлю, в типе контента, я бы добавил поле изображение, права на доступ по вашим потребностям, в настройках поля, убрать видимость в списке и в записи, а в виджете прописал — устанавливать фон из этого поля.
#13 4 июля 2016 в 07:07
В двойке можно добавить в HEAD главного файла шаблона это
  1. <?php if (cmsCore::isWritable("templates/{$this->name}/css/bg{$core->controller}.css", false)){ $this->addMainCSS("templates/{$this->name}/css/bg{$core->controller}.css");} ?>
и добавить файлы с папке css шаблона:
bgfrontpage.css — для главной,
bgcontent.css — для контента,
bgusers.css — для пользователей и т.д. и т.п.
Соответственно, если такого файла нет, то и подключения несуществующего файла не будет.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.