Свой css для определенной категории

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем Irina-91, 15 фев 2017.

  1. Irina-91

    Irina-91 Пользователь

    Сообщения:
    39
    Симпатии:
    0
    Всем привет) подскажите пожалуйста, как мне можно создать свой стиль для определенной категории. Отдельный шаблон я подключила по мануалу из это темы: http://forum.opencart-russia.ru/threads/reshenie-otdelnyj-shablon-dlja-kategorii.743/
    а вот как подключить для него свой css ума не приложу... расскажите пожалуйста :(
     
  2. Bkmz

    Bkmz Продвинутый пользователь

    Сообщения:
    440
    Симпатии:
    106
    стили подключаются в header.tpl
    например
    Код:
    <link href="catalog/view/theme/default/stylesheet/category.css" rel="stylesheet">
     
  3. Irina-91

    Irina-91 Пользователь

    Сообщения:
    39
    Симпатии:
    0
    А возможно как-то в category.php прописать ?
     
  4. Bkmz

    Bkmz Продвинутый пользователь

    Сообщения:
    440
    Симпатии:
    106
    в контроллер категории? например так

    PHP:
    $this->document->addStyle('catalog/view/theme/default/stylesheet/category.css');
    в самом начале, после

    Код:
    public function index() {

    Способы добавления стилей на страницу - http://htmlbook.ru/samcss/sposoby-dobavleniya-stiley-na-stranitsu
     
    Vlad нравится это.
  5. Irina-91

    Irina-91 Пользователь

    Сообщения:
    39
    Симпатии:
    0
    Не поняла... извините... я что-то уже сама запуталась.. надо лучше учить основы...
    вот смотрите, у меня есть есть определенная категория, для нее подключается свой шаблон category-sumki.tpl, как для этого шаблона создать свой stylesheet-sumki.css, чтобы он подключался только для данной категории... вообще этот css я хотела создать дублированием оригинального stylesheet.css и там менять уже параметры... возможно я не правильный путь избрала... :(:oops:
     
  6. Bkmz

    Bkmz Продвинутый пользователь

    Сообщения:
    440
    Симпатии:
    106
    самое просто решение я описал выше. добавьте в контроллер категории вывод стиля.
    а потом в каждом шаблоне категорий - задавайте нужным элементам дополнительные классы, или новые, или как там у вас пойдет :)
    http://htmlbook.ru/samcss/klassy
    совсем ничего сложного.
     
    Vlad нравится это.
  7. Irina-91

    Irina-91 Пользователь

    Сообщения:
    39
    Симпатии:
    0
    спасибо, я попробую)
     
  8. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    <body class="product-product-40">
    <body class="product-category-20
    Вот и отталкивайтесь от этого
     
    Bkmz нравится это.
  9. Allaur

    Allaur Пользователь

    Сообщения:
    81
    Симпатии:
    2
    Доброго времени суток.
    Не буду плодить копии тем, напишу здесь...
    В системе есть системные страницы:
    1. Страница товара
    2. Страница категорий
    3. Страницы статей
    4. Страницы производителей
    Может есть решение или как можно сделать чтобы при посещении данных страниц в контейнере body добавлялся class.
    Например.
    Если находимся на странице товара то в коде шаблона видим
    <body class="product">

    Если находимся на странице категорий то в коде шаблона видим
    <body class="category">

    Если находимся на странице статей то в коде шаблона видим
    <body class="article">

    Если находимся на странице производителей то в коде шаблона видим
    <body class="brand">

    Есть что нибудь для опенкарта для решения этой задачи?
     
  10. Tom

    Tom Специалист

    Сообщения:
    1.046
    Симпатии:
    373
    Было в opencart 2. Можно подсмотреть в контроллере и шаблоне хидера.
    Код:
            // For page specific css
            if (isset($this->request->get['route'])) {
                if (isset($this->request->get['product_id'])) {
                    $class = '-' . $this->request->get['product_id'];
                } elseif (isset($this->request->get['path'])) {
                    $class = '-' . $this->request->get['path'];
                } elseif (isset($this->request->get['manufacturer_id'])) {
                    $class = '-' . $this->request->get['manufacturer_id'];
                } elseif (isset($this->request->get['information_id'])) {
                    $class = '-' . $this->request->get['information_id'];
                } else {
                    $class = '';
                }
    
                $data['class'] = str_replace('/', '-', $this->request->get['route']) . $class;
            } else {
                $data['class'] = 'common-home';
            }
    Ну и соответственно в шаблоне <body class="{{ class }}">
     

    Вложения:

    Последнее редактирование: 16 июл 2025