Фон сайта по заданному полю

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Как сделать фон сайта с помощью полей

#1 20 января 2017 в 11:35
Всем привет, вот решил украсить чуть вывод новостей и задумал добавить поле которое будет менять фон сайта.
Сделал сроковое поле куда ставлю ссылку на картинку фона и в шаблоне новости в самом начале поставил это:
  1. <?php if($item['background']){ ?>
  2. <section class="enter-screen2" style="background-image:url(<?php echo $item['background']; ?>);">
  3.  
  4. </section>
  5.  
  6.  
  7. <?php } ?>
Этим (section class="enter-screen2") классом я на сайте вывожу тематический фон вставляя ссылку в хтмл редакторе, но в новостях он не работает, выводится картинка внутри новости а я хочу снаружи((( может есть другой вариант? или может добавить в ксс что то с пометкой импортант что бы меняло фон сайта?
#2 20 января 2017 в 14:47

выводится картинка внутри новости а я хочу снаружи

TopPMR
Что значит картинка внутри и снаружи новости?
#3 20 января 2017 в 15:05
Ну так вы задаете фон для <section class="enter-screen2">. Задайте для body
#4 20 января 2017 в 15:10


выводится картинка внутри новости а я хочу снаружи

TopPMR
Что значит картинка внутри и снаружи новости?

Sonat

Хочу вывести картинку как фон сайта
#5 20 января 2017 в 18:53
  1.  
  2. <?php if($item['background']){ ?>
  3. <style>
  4. .enter-screen2 {
  5. background: url('<?php echo $item['background']; ?>') no-repeat top center !important;
  6. background-repeat: no-repeat;
  7. background-attachment: fixed;
  8. background-size: 100%;
  9. }
  10. </style>
  11. <?php } ?>
  12.  
тут стили уже под себе нужно сделать
#6 20 января 2017 в 19:53
Люди, Dost дело говорит.
Красьте body!
#7 20 января 2017 в 20:49
Изменить свойства стилей на странице контроллера просто!
Вы, TopPMR, предложили не очень универсальное решение.

вот решил украсить чуть вывод новостей и задумал добавить поле которое будет менять фон сайта.

TopPMR
Попробуйте изменять полностью стилевые свойства для каждого контроллера отдельно. Это значит, что шаблон для новостей будет если это нужно, отличаться так как вы переопределили правилами в своих css для каждого контроллера.
В файл main.tpl в начале добавить:
  1.  
  2. <?php
  3. $core = cmsCore::getInstance();
  4. # добавит файл стилей для текущего контроллера
  5. $this_controller_name = $this->controller->name;
  6. $this->addMainCSS("templates/{$this->name}/header/head_{$this_controller_name}.css");
  7. if ($core->isWritable("templates/{$this->name}/header/head_{$this_controller_name}.css", false)){
  8. $this->addMainCSS("templates/{$this->name}/header/head_{$this_controller_name}.css");
  9. }
  10.  
  11. ?>
  12.  
В директории шаблона добавить папку header, где создать css файлы с именами контроллеров: head_frontpage, head_content и тд.И в каждом файле можно применить свои правила, которые будут действительны только при вызове этого контроллера. Другие контроллеры будут работать со своими файлами… Для (по умолчанию) файл контроллера пуст, и не содержит правил.
Как вариант решение- для размышления.
#8 20 января 2017 в 22:23


Изменить свойства стилей на странице контроллера просто!
Вы, TopPMR, предложили не очень универсальное решение.

вот решил украсить чуть вывод новостей и задумал добавить поле которое будет менять фон сайта.

TopPMR
Попробуйте изменять полностью стилевые свойства для каждого контроллера отдельно. Это значит, что шаблон для блогов и новостей будет если это нужно, отличаться так как вы переопределили правилами в своих css для каждого контроллера.
В файл main.tpl в начале добавить:
  1.  
  2.  
  3.  
В директории шаблона добавить папку header, где создать css файлы с именами контроллеров: head_frontpage, head_news.head_post и тд.И в каждом файле можно применить свои правила, которые будут действительны только при вызове этого контроллера. Другие контроллеры будут работать со своими файлами… Для (по умолчанию) файл контроллера пуст, и не содержит правил.
Как вариант решение- для размышления .

Старый балбес

Я это сделал, но не могу понять какой класс отвечает за фон сайта и в каком файле стилей рыть?((( пока ничего не получилось(
#9 21 января 2017 в 00:30
TopPMR, Что за шаблон у вас? Так попробуйте
  1.  
  2. <?php if($item['background']){ ?>
  3. <style>
  4. body{background-image:url(<?php echo $item['background']; ?>)!important;
  5. }
  6. </style>
  7. <?php } ?>
  8.  
  9.  
#10 21 января 2017 в 01:36


TopPMR, Что за шаблон у вас? Так попробуйте

  1.  
  2.  
  3.  
  4. body{background-image:url()!important;
  5. }
  6.  
  7.  
  8.  
  9.  

Dost

Так получилось! спасибо! осталось только настроить вывод))) шаблон дефолтный, правда чуть переделанный
#11 21 января 2017 в 11:16
Ещё один вопрос, а возможно ли использовать тип поля "изображение" а в шаблоне вывести ссылку на закаченное в поле изображение. Сейчас я использую тип "строковое поле".

Сделал это так:<?php echo html_image_src($item['background'], $fields['photo']['options']['size_full'], true); ?> Остается открытым вопрос с пикселями отступа от верха страницы.

И ещё хотелось бы добавить настраиваемый отступ от верха сайта, допустим тип поля "число" которое будет в пикселях опускать тело статьи вниз.
#12 21 января 2017 в 11:47
Всем спасибо! закрываю тему, нашел решение) добавил к стилю margin-top: 200px!important;;
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.