Как сделать разный фон body для определенных страниц?

  • 10 Ответов
  • 194 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

R31rus

  • *****
  • 525
  • + 2 -
  • «Нас Reboot, а мы крепчаем»
Здравствуйте. Задача сменить фон. На главной bg 1, на других bg2

Получилось так:

Код
<?php $menu = & JSite::getMenu();
if ($menu->getActive() == $menu->getDefault()) { ?>
    <style type="text/css">
        body {background:#000 !important; }
    </style>
<?php } else { ?>
    <style type="text/css">
        body {background:#FF0 !important; }
    </style>
<?php } ?>


Работает, но не совсем, стоит перейти на страницу третьего уровня site/design/project.html и там уже фона нет... как реализовать? Или подправить код.
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

beliyadm

  • ********
  • 8359
  • + 1527 -
  • Севастополь == Россия
Нет фона вообще или неправильный цвет стоит? Наследование в данном случае идет по ItemID пункта меню, если в структуре меню нет такой ссылки - будет браться как на главной по умолчанию
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

R31rus

  • *****
  • 525
  • + 2 -
  • «Нас Reboot, а мы крепчаем»
вообще нет фона
« Последнее редактирование: 15.01.2017, 02:38:57 от R31rus »
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

beliyadm

  • ********
  • 8359
  • + 1527 -
  • Севастополь == Россия
background: rgba(0, 0, 0, 0) url("templates/protostar/css/img/background2.jpg") repeat fixed 0 0 / cover !important; - нет такой картинки, 404
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

R31rus

  • *****
  • 525
  • + 2 -
  • «Нас Reboot, а мы крепчаем»
но на других же страницах работает)
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

beliyadm

  • ********
  • 8359
  • + 1527 -
  • Севастополь == Россия
не вникал, посмотрел в консоли висит ошибка что нет такого изображения либо путь некорректный
Код: css
body {
    background: rgba(0, 0, 0, 0) url("img/background.jpg") repeat fixed 0 0 / cover ;
    font-family: Arial,Helvetica,sans-serif;
    margin: 120px auto 0;
    min-height: 600px;
    position: relative;
    width: 80%;
    z-index: 2;
}
body {
    background: rgba(0, 0, 0, 0) url("templates/protostar/css/img/background2.jpg") repeat fixed 0 0 / cover !important;
    font-family: Arial,Helvetica,sans-serif !important;
    margin: 120px auto 0 !important;
    min-height: 600px !important;
    position: relative !important;
    width: 80% !important;
    z-index: 2 !important;
}
Первый боди берется из шаблона, второй прописан в теле страницы, сравните пути, вот в втором случае картинки нет по данному адресу
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

effrit

  • *****
  • 7438
  • + 815 -
  • effrit.com
инлайновые стили втыкать - это не лучшая идея.
лаконичнее будет делать проверку на главную и генерацию суффикса " newColor", который будет добавляться в класс body.
т.е. по дефолту $suff="", если Главная, то $suff=" newColor"
Код
body class="<?php echo $suff; ?>" ...

*

R31rus

  • *****
  • 525
  • + 2 -
  • «Нас Reboot, а мы крепчаем»
инлайновые стили втыкать - это не лучшая идея.
лаконичнее будет делать проверку на главную и генерацию суффикса " newColor", который будет добавляться в класс body.
т.е. по дефолту $suff="", если Главная, то $suff=" newColor"
Код
body class="<?php echo $suff; ?>" ...


Помоему отличное решение, подскажите подробнее как это сделать
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

beliyadm

  • ********
  • 8359
  • + 1527 -
  • Севастополь == Россия
Код: php
	
if ($menu->getActive() == $menu->getDefault()) {
     $bodyclass = 'mainpage';
} else {
     $bodyclass = 'innerpage';
}
Код: html4strict
<body class="<?php echo $bodyclass; ?>">
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

robert

  • ********
  • 4002
  • + 371 -
но на других же страницах работает)
Случайно повезло.
background: url("/templates/protostar/css/img/background.jpg")!important;
background: url("/templates/protostar/css/img/background2.jpg")!important;

P.S. Почему вы все делаете одно, а пишете другое
       body {background:#000 !important; }
         body {background:#FF0 !important; }
? Будьте милосердны, пишите так, как есть. Так вы сэкономите время вашим потенциальным советчикам.
« Последнее редактирование: 15.01.2017, 01:22:11 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

R31rus

  • *****
  • 525
  • + 2 -
  • «Нас Reboot, а мы крепчаем»
Код: php
	
if ($menu->getActive() == $menu->getDefault()) {
    $bodyclass = 'mainpage';
} else {
    $bodyclass = 'innerpage';
}
Код: html4strict
<body class="<?php echo $bodyclass; ?>">

Отлично! Благодарен Вам
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.