Opencart: CSS (на основе обслуживания маршрута) - PullRequest
0 голосов
/ 07 марта 2012

Это мой первый вопрос здесь. Я использую Opencart для своего интернет-магазина. Для внешнего вида я стилизую CSS моих страниц, например. account_login.css. Но я также хочу сделать страницу обслуживания. Я уже сделал файл common_maintenance.css. Но когда я тестирую, мой сайт не отображается правильно. Это просто показывает http://www.mywebsite.com вместо http://www.mywebsite.com/index.php?route=common/maintenance. Пожалуйста, кто-нибудь может мне помочь с этим?

<?php
class ControllerCommonMaintenance extends Controller {
 public function index() {
     if ($this->config->get('config_maintenance')) {            $route = '';
                    if (isset($this->request->get['route'])) {
            $part = explode('/', $this->request->get['route']);

            if (isset($part[0])) {
                $route .= $part[0];
            }                       }
                    // Show site if logged in as admin          $this->load->library('user');
                    $this->user = new User($this->registry);
            if (($route != 'payment') && !$this->user->isLogged()) {
            return $this->forward('common/maintenance/info');           }                       
     }
 }
        public function info() {
     $this->load->language('common/maintenance');

     $this->document->setTitle($this->language->get('heading_title'));

     $this->data['heading_title'] = $this->language->get('heading_title');

     $this->document->breadcrumbs = array();

     $this->document->breadcrumbs[] = array(
         'text'      => $this->language->get('text_maintenance'),           'href'      => $this->url->link('common/maintenance'),
         'separator' => false
     ); 

     $this->data['message'] = $this->language->get('text_message');
            if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . 
 '/template/common/maintenance.tpl')) {
         $this->template = $this->config->get('config_template') . '/template/common/maintenance.tpl';
     } else {
         $this->template = 'default/template/common/maintenance.tpl';        }
                $this->children = array(            'common/footer',            'common/header'         );

        $this->response->setOutput($this->render());
 } } ?>

Ответы [ 2 ]

0 голосов
/ 09 марта 2012

Я исправил отвратительное форматирование и добавил вызов -> addStyle ($ css). Если код еще не работает, проверьте, правильно ли я указал путь к CSS (где написано $ css = 'blahblah');

<?php
class ControllerCommonMaintenance extends Controller {
    public function index() {
        if ($this->config->get('config_maintenance')) {
            $route = '';
            if (isset($this->request->get['route'])) {
                $part = explode('/', $this->request->get['route']);
                if (isset($part[0])) {
                    $route .= $part[0];
                }
            }

            // Show site if logged in as admin
            // $this->load->library('user');
            $this->user = new User($this->registry);
            if (($route != 'payment') && !$this->user->isLogged()) {
                return $this->forward('common/maintenance/info');
            }
        }
    }

    public function info() {
        $this->load->language('common/maintenance');

        $this->document->setTitle($this->language->get('heading_title'));
        $css = 'catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/common_maintenance.css';
        $this->document->addStyle($css);
        $this->data['heading_title'] = $this->language->get('heading_title');

        $this->document->breadcrumbs = array();

        $this->document->breadcrumbs[] = array(
            'text'      => $this->language->get('text_maintenance'),
            'href'      => $this->url->link('common/maintenance'),
            'separator' => false
        );

        $this->data['message'] = $this->language->get('text_message');

        $maintenance = $this->config->get('config_template') . '/template/common/maintenance.tpl';

        if (file_exists(DIR_TEMPLATE . $maintenance ) ) {
            $this->template = $maintenance;
        }

        else {
            $this->template = 'default/template/common/maintenance.tpl';         }
            $this->children = array(
                'common/footer',
                'common/header'
            );

            $this->response->setOutput($this->render());
        }
     }
}
0 голосов
/ 08 марта 2012

Проблема в том, что вы используете маршрут, режим обслуживания которого не меняется, когда он находится в режиме обслуживания. Что вам нужно сделать, это добавить эту таблицу стилей в контроллер обслуживания, используя метод $this->document->addStyle()

...