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

lencick

  • Новичок
  • 6
  • 0 / 0
Свой фон для body
« : 28.03.2015, 01:53:57 »
Добрый вечер!  Есть сайт, нужно чтобы на разных страницах был свой фон для body. Подскажите, как это можно реализовать?
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Свой фон для body
« Ответ #1 : 28.03.2015, 08:52:29 »
К чему (к какому условию) привязывается цвет фона? Пункт меню? Материал? Вывод компонента?
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Re: Свой фон для body
« Ответ #2 : 28.03.2015, 09:02:37 »
Я в шаблоне делаю так:
в index.php добавляем код
Код
$app             = JFactory::getApplication();
$doc             = JFactory::getDocument();
$user            = JFactory::getUser();
$this->language  = $doc->language;
$this->direction = $doc->direction;
$params = $app->getTemplate(true)->params;
$option   = $app->input->getCmd('option', '');
$view     = $app->input->getCmd('view', '');
$layout   = $app->input->getCmd('layout', '');
$task     = $app->input->getCmd('task', '');
$itemid   = $app->input->getCmd('Itemid', '');
$sitename = $app->get('sitename');
$this->setGenerator(null);
$tplurl = $this->baseurl.'/templates/'.$this->template;
if ($itemid) {
    $menu = JSite::getMenu();
    $bodysuffix = $menu->getParams($itemid)->get('pageclass_sfx');
if ($bodysuffix){ $class = ' class="'.$bodysuffix.' '.$option.' view-'.$view.($layout ? ' layout-' . $layout : ' no-layout').($task ? ' task-' . $task : ' no-task').($itemid ? ' itemid-' . $itemid : '').($params->get('fluidContainer')? ' fluid' : '').'"'; } else { $class = ' class="'.$option.' view-'.$view.($layout ? ' layout-' . $layout : ' no-layout').($task ? ' task-' . $task : ' no-task').($itemid ? ' itemid-' . $itemid : '').($params->get('fluidContainer')? ' fluid' : '').'"'; }
}

там же ниже заменяем
Код
<body> на <body<?php echo $class; ?>>

к тегу боди бует добавлятся куча классов(в вашем случае думаю хватит itemid или суффикса класса страницы), с помощью которых можно каждую страницу оформить как угодно
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Re: Свой фон для body
« Ответ #3 : 28.03.2015, 09:48:07 »
Если проста на разных страницах сайта свой фон. Можно шаблон для тех страниц поставить второй, третий...
И менять все что надо, в том числе фон.
*

Taatshi

  • Глобальный модератор
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Свой фон для body
« Ответ #4 : 28.03.2015, 23:33:53 »
Вариант покороче

Код: php
<?php 
$pageClassSuffix = JFactory::getApplication()->getMenu()->getActive()? JFactory::getApplication()->getMenu()->getActive()->params->get('pageclass_sfx', 'default') : 'default';
?>

вместо body

Код: php
<body class="page <?php echo $pageClassSuffix ?>">

В пункте меню задаете класс в параметрах страницы - теперь у Вас body будет для этого пункта с классом - вот по нему и задаете особый фон для страницы.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

kristmass

  • Новичок
  • 3
  • 0 / 0
Re: Свой фон для body
« Ответ #5 : 01.04.2015, 08:55:53 »
Подскажите пожалуйста что нужно вставить вместо вопроса чтобы стала картинка. Перепробовала все, становится просто белый фон(((
body {margin: 0 0 0 0;padding: 0 0 0 0;background:  ? ;font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;font-size: 0px;}
вот ссылка на картинку http://masyamba.ru/Спорт/68%20(Найк,%20разноцветные,%20люди,%20звезда).jpg
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Свой фон для body
« Ответ #6 : 01.04.2015, 09:06:36 »
Код: css
body {margin:0;padding:0;background:url('http://masyamba.ru/Спорт/68%20(Найк,%20разноцветные,%20люди,%20звезда).jpg') 0 0 no-repeat transparent;font-family:Verdana,Geneva,Arial,Helvetica, sans-serif;font-size:0;}
Только вот картинки по указанному адресу не существует (уберите из имени лишние символы, скобки, пробелы замените на символ нижнего подчеркивания _ , папку переименуйте латиницей, да и все имена файлов лучше тоже латиницей писать).
Но больше всего меня прикололо нулевой размер шрифта для body :)
*

kristmass

  • Новичок
  • 3
  • 0 / 0
Re: Свой фон для body
« Ответ #7 : 01.04.2015, 09:21:03 »
Появилась новая проблемка картинка маленькая, занимает всего четверть экрана(((
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Re: Свой фон для body
« Ответ #8 : 01.04.2015, 09:45:12 »
Появилась новая проблемка картинка маленькая, занимает всего четверть экрана(((
Типа:
   background: url("/images/3.jpg") no-repeat;
   background-size: 100%;
   background-attachment: fixed;
   background-color: #000000;  
В зависимости от разрешения картинку можно больше сделать. Сильно маленькая картинка будет, растянет ее. Плохо смотреться будет.
« Последнее редактирование: 01.04.2015, 10:55:04 от stendapuss »
*

kristmass

  • Новичок
  • 3
  • 0 / 0
Re: Свой фон для body
« Ответ #9 : 01.04.2015, 10:04:40 »
Спс)))
*

stendapuss

  • Давно я тут
  • 945
  • 20 / 0
  • Valera Stankevich
Re: Свой фон для body
« Ответ #10 : 01.04.2015, 10:57:02 »
background-color: #000000; пропишите какой надо. Если картинка не будет отображаться допустим. На черном фоне черный цвет шрифта не виден будет. Не знаю цвет вашего шрифта.
*

1AZ1

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
  • Всё течёт, всё меняется
Re: Свой фон для body
« Ответ #11 : 16.08.2015, 12:50:18 »
Вариант покороче

Код: php
<?php 
$pageClassSuffix = JFactory::getApplication()->getMenu()->getActive()? JFactory::getApplication()->getMenu()->getActive()->params->get('pageclass_sfx', 'default') : 'default';
?>

вместо body

Код: php
<body class="page <?php echo $pageClassSuffix ?>">

В пункте меню задаете класс в параметрах страницы - теперь у Вас body будет для этого пункта с классом - вот по нему и задаете особый фон для страницы.
Спасибо! Рабочее решение!
Только, по-моему, не нужен пробел после page.
*

Taatshi

  • Глобальный модератор
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Свой фон для body
« Ответ #12 : 16.08.2015, 13:08:08 »
Только, по-моему, не нужен пробел после page.
Это по желанию. Можно вообще выводить класс только в том случае, если он прописан. А, если не прописан - не выводить.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вставить свой CSS в общий файл CSS шаблона Yootheme?

Автор Lemonez

Ответов: 16
Просмотров: 948
Последний ответ 21.01.2021, 05:11:58
от Lemonez
Нужен пример как присвоить свой стиль одному модулю

Автор nick71

Ответов: 21
Просмотров: 5283
Последний ответ 17.02.2018, 14:44:40
от cirip
Чужой Информер и свой CSS

Автор darkghost

Ответов: 1
Просмотров: 995
Последний ответ 29.01.2018, 23:42:18
от ProtectYourSite
смещение body вправо, margin в 16px

Автор deminevgen

Ответов: 3
Просмотров: 1240
Последний ответ 28.11.2016, 22:46:53
от deminevgen
Свой стиль для placeholder

Автор kik84

Ответов: 2
Просмотров: 1083
Последний ответ 22.11.2016, 16:04:10
от kik84