[Помогите] Добавление стилей через шаблон

Тема в разделе "OpenCart", создана пользователем 130983, 17 апр 2016.

  1. 130983

    130983

    Регистрация:
    10 дек 2012
    Сообщения:
    172
    Симпатии:
    146
    Всем привет! Может кто подскажет решение. У меня в таблице Settings есть две строки config_top и config_bottom Через админку я планирую вносить в эти строки свои значения(числа). Есть у меня на странице категорий один див с классом promo, то есть <div class="promo"></div>. Подскажите пожалуйста, как через контроллер категорий организовать вывод этих стилей в шаблон категорий? По факту хотелось бы получить вот такое
    .promo {margin-top:<?php echo $config_top; ?>px; margin-bottom:<?php echo $config_bottom; ?>px;} Возможно ли сделать такое без правок самого файла шаблона, ну например в отдельно взятом контроллере же можно организовать подключение файлов стилей или это как-то вынести в одну переменную а затем вывести ее в шаблон. Как лучше сделать? буду благодарен за помощь! спасибо.
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Готовых файлов стилей, а вы хотите генерировать стили на лету со значениями из базы.

    Если у вас ОК 1.5 можно контроллер вообще не трогать, а выдёргивать значения из конфига прямо в шаблоне, во втором ОК нужно их предварительно в шаблон передать из контроллера.
    А в самом шаблоне просто вставляете тег style и вписываете туда свои стили подставляя значения из переменных.

    А из конфига значения читаются так:
    PHP:
    $this->config->get('config_top')
     
  3. 130983

    130983

    Регистрация:
    10 дек 2012
    Сообщения:
    172
    Симпатии:
    146
    А как в файле category.tpl прописать стили для фонового изображения блока? Привел вот к такому виду
    Код:
    <?php echo $header; ?>
    <style type="text/css">
    .promo {   
        background: url('../image/promo.png') no-repeat;
        display: block;
        position: absolute;
        width: 70px;
        height: 70px;
        z-index: 100;
        margin-top:<?php echo $config_top; ?>px;
        margin-bottom:<?php echo $config_bottom; ?>px;
        }
    </style>
    файл promo.png лежит в папке image в дефолтном шаблоне, но почему-то "читается" как http://localhost/image/promo.png хотя нужно как http://localhost/test/catalog/view/theme/default/image/promo.png Подскажите, как решить проблему.
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Потому что вы вписали относительный путь. Когда это вписано в файле стилей, этот путь указывает на соседнюю директорию с изображениями, а в теле страницы он вычисляется от корня сайта. Впишите туда полный, а не относительный путь, то есть, от корня сайта.