Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

[Решено]Свои классы для разных страницы магазина


Рекомендуемые сообщения

Процесс доработки внешнего вида того или иного интернет — магазина на opencart  — процесс несомненно веселый и увлекательный. Каждый заказчик уникален в своих запросах и требованиях, и порою приходится вносить довольно специфические правки в шаблон. Зачастую бывает такое, что для разных страниц необходимо применить уникальную стилистику и оформление, чтобы она не пересекалась с другими страницами магазина.

Хорошим решением в данном случае является назначение уникального класса тегу <body>. И сделать это можно достаточно просто. В контроллере header.php, которой находится по адресу

\catalog\controller\common\header.php

необходимо добавить немного кода.

Вам необходимо найти следующие строчки

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);
		}

И сразу перед ними добавить следующий код

// Добавление класса страницы
		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 версии, то данный код Вам необходимо добавить перед

return $this->load->view('common/header', $data);

Теперь для того, чтобы вывести класс страницы, необходимо в файле

\catalog\view\theme\...\template\common\header.tpl

в тег <body> добавить вывод заданного класса, в результате чего должно получиться следующее

<body class="<?php echo $class; ?>">

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...