И так, захотелось мне вывести ссылку "Сравнение товаров" в шапку своего локального магазина.
Задача:
- вывести ссылку "Сравнение товаров" в шапку (header);
- вывести количество добавленного товара в "Сравнение товаров".
Решение:
0. Перед выполнением, рекомендую сделать копии файлов:
\catalog\controller\common\header.php
\catalog\view\theme\default\template\common\header.tpl
1. Открываем \catalog\controller\common\header.php
После:
$this->data['text_checkout'] = $this->language->get('text_checkout');
добавляем:
$this->data['compare'] = $this->url->link('product/compare');
$this->language->load('product/compare');
$this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
Что мы сделали:
-1- сделали линк на модуль "Сравнение товаров".
-2- подкинули модуль языков. (если не добавить эту строку, будет выводить text_compare на всех страницах, кроме /index.php?route=product/compare)
-3- указали, как будет называться ссылка "Сравнение товаров". Эти слова берутся с языкового пакета. (у меня только русский язык, но должно работать и на остальных языках) и добавили счетчик количества добавленного товара в сравнение. (если нечего не добавлено - пишет 0).
2. Открываем \catalog\view\theme\default\template\common\header.tpl
вставляем:
<a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a>
туда, где нужна эта ссылка на "Сравнение товаров (0)".
3. Радуемся.
PS.
Что бы в категориях не было дублированной надписи "Сравнение товаров" нужно сделать:
открыть: \catalog\view\theme\default\template\product\category.tpl
найти:
<div class="product-compare">
удалить все, что в контейнере. должно получится так:
<div class="product-compare"></div>
PPS
Все это делается на стандартном шаблоне версии 1.5.4.1.