Урок 8 Свои классы для разных страницы магазина

Процесс доработки внешнего вида того или иного интернет — магазина на opencart — процесс несомненно веселый и увлекательный. Каждый заказчик уникален в своих запросах и требованиях, и порою приходится вносить довольно специфические правки в шаблон. Зачастую бывает такое, что для разных страниц необходимо применить уникальную стилистику и оформление, чтобы она не пересекалась с другими страницами магазина.
Хорошим решением в данном случае является назначение уникального класса тегу <body>. И сделать это можно достаточно просто. В контроллере header.php, которой находится по адресу
1 |
\catalog\controller\common\header.php |
необходимо добавить немного кода.
Вам необходимо найти следующие строчки
1 2 3 4 5 |
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/common/header.tpl', $data); } else { return $this->load->view('default/template/common/header.tpl', $data); } |
И сразу перед ними добавить следующий код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Добавление класса страницы 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'; } |
Уточню, что это для версии 2.1. Если же у Вас магазин на 2.3 версии, то данный код Вам необходимо добавить перед
1 |
return $this->load->view('common/header', $data); |
Теперь для того, чтобы вывести класс страницы, необходимо в файле header.tpl
1 |
\catalog\view\theme\default\template\common\header.tpl |
в тег <body> добавить вывод заданного класса, в результате чего должно получиться следующее
1 |
<body class="<?php echo $class; ?>"> |
Оставить комментарий