Здравствуйте!
Не подскажете, кто знает, как организовать разные фоны на разных страницах для instantcms 2. Т.е. у главной страницы один фон, а внутренних другой.
Спасибо заранее!
#1
3 июля 2016 в 15:15
#3
3 июля 2016 в 17:34
Instyler
этот вариант не подходит
сами прописывайте для разных страниц разные стили для body используя !important
мне надо как нибудь с помощью php в файле main.tpl.php сделать. но как не знаю
Сегодня в 19:42
#4
3 июля 2016 в 17:47
GNabi, напишите условие на PHP, где переменными будут адреса и отдельные, допустим, CSS файлы… Готового решения вам не дадут точно.
#5
3 июля 2016 в 18:03
Azura, а как для первой ветки определяется главная страница?
для первой — if($inCore->menuid()==1)
для первой — if($inCore->menuid()==1)
#6
3 июля 2016 в 18:05
GNabi, Увы, вот с этим не подскажу… я очень слабый программер. Тем более по второй ветке...) Я с первой-то до конца не разобралась...)
На вскидку: на нужную страницу вывести виджет "HTML блок".
В вкладке "Опции" прописать нечто типа:
В вкладке "Дизайн" в поле "Шаблон контейнера "указать шаблон обёртки wrapper_plain
Сможете баловаться на всю катушку (для любой страницы переопределять стиль).
Удачи!
В вкладке "Опции" прописать нечто типа:
<style> body{background:#fff} </style>
Сможете баловаться на всю катушку (для любой страницы переопределять стиль).
Удачи!
#8
3 июля 2016 в 18:16
<?php $bodyclass = $core->uri? 'all-pages': 'home-page'; ?>
................
................
<body class="<?php echo $bodyclass; ?>">
................
................
<body class="<?php echo $bodyclass; ?>">
#9
3 июля 2016 в 18:20
GNabi,
Всё правильно Azura говорит. Надо в main.tpl.php изменить строку
на
И сделать дубль файла theme-layout.css — theme-layout1.css, где будет изменет фон сайта:
Вот только не знаю, что писать в условии. Может кто знающий подскажет…
Всё правильно Azura говорит. Надо в main.tpl.php изменить строку
<?php $this->addMainCSS("templates/{$this->name}/css/theme-layout.css"); ?>
<?php if (находимся на главной странице) {$this->addMainCSS("templates/{$this->name}/css/theme-layout1.css"); } else {$this->addMainCSS("templates/{$this->name}/css/theme-layout.css");}?>
body { background: url("../images/ваш_фон.png"); margin:0; padding:0; }
#10
3 июля 2016 в 18:37
Знающий написал коммент выше.
Вот только не знаю, что писать в условии. Может кто знающий подскажет...
Для вашего примера можно:
<?php if ($_SERVER["REQUEST_URI"] == "/"){ ?> гланая <?php } else { ?> остальные <?php } ?>
#11
4 июля 2016 в 01:35
HiAndy, Pasha, Спасибо!
Олег Васильевич я, Ты меня как всегда выручаешь ))) Спасибо большое!))
Олег Васильевич я, Ты меня как всегда выручаешь ))) Спасибо большое!))
#12
4 июля 2016 в 05:13
От себя добавлю, в типе контента, я бы добавил поле изображение, права на доступ по вашим потребностям, в настройках поля, убрать видимость в списке и в записи, а в виджете прописал — устанавливать фон из этого поля.на нужную страницу вывести виджет "HTML блок"
В двойке можно добавить в HEAD главного файла шаблона это
и добавить файлы с папке css шаблона:
bgfrontpage.css — для главной,
bgcontent.css — для контента,
bgusers.css — для пользователей и т.д. и т.п.
Соответственно, если такого файла нет, то и подключения несуществующего файла не будет.
<?php if (cmsCore::isWritable("templates/{$this->name}/css/bg{$core->controller}.css", false)){ $this->addMainCSS("templates/{$this->name}/css/bg{$core->controller}.css");} ?>
bgfrontpage.css — для главной,
bgcontent.css — для контента,
bgusers.css — для пользователей и т.д. и т.п.
Соответственно, если такого файла нет, то и подключения несуществующего файла не будет.