Добавление таблицы стилей CSS на страницы на основе маршрута в OpenCart - PullRequest
6 голосов
/ 27 ноября 2011

Я использую opencart (версия 1.5.1.3.1) для клиентского хранилища, и мне интересно, как лучше кодировать его, чтобы я мог добавить определенные таблицы стилей для определенных маршрутов.

Например,на моей странице категории я хотел бы иметь таблицу стилей, отличную от таблицы по умолчанию, или таблицу стилей, которая будет переопределять стили по умолчанию с моей пользовательской таблицей.Я использую это для более чем одного маршрута, очевидно, и хочу сделать это с минимально необходимыми правками, чтобы уменьшить количество правок в фреймворке, если мне нужно будет обновить на любом этапе (и с хорошо известной opencartслучайные изменения и выпуски исправлений ошибок это вполне вероятно)

1 Ответ

11 голосов
/ 27 ноября 2011

Открыть catalog/controller/common/header.php

Сразу после строки protected function index() { на новой строке поместите

    $route = empty($this->request->get['route']) ? 'common/home' : $this->request->get['route'];
    $css_file = str_replace('/', '_', $route) . '.css';

    if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/stylesheet/' . $css_file)) {
        $this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template'). '/stylesheet/' . $css_file);
    }

Затем перейдите к текущей теме и создайте файл в папке catalog/view/your-theme/stylesheet/называется product_category.css и поместите ваши стили в этом.Таблицы стилей работают с вашим именем маршрута, за исключением того, что вы заменяете косую черту на подчеркивание, за которым следует .css, то есть common/home становится common_home.css

Обратите внимание, что будет использоваться метод переопределения вместо замены вашеготаблица стилей по умолчанию

...