пятница, 22 марта 2013 г.

Выводим "Сравнение товаров" в нужное место


Захотелось мне вывести ссылку на "Сравнение товаров" в нужное мне место - шапку (header).
Вывести ссылку то не проблема. а вот хотелось бы, что бы было динамическая циферка количества. Есть похожий модуль, но я решил сделать это своими силами.
0. Перед началом выполнения, как всегда, я рекомендую сделать копии следующих файлов: 
\catalog\controller\common\header.php
\catalog\view\theme\default\template\common\header.tpl
Версия : OpenCart 1.5.4.1


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


2. Открываем \catalog\view\theme\default\template\common\header.tpl:
вставляем:


<a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a>

туда, где нужна эта ссылка "Сравнение товаров (0)".

3. Урок закончен.

Примечание:
Что бы в "категориях" не было дублированной надписи "Сравнение товаров" нужно сделать:
открыть \catalog\view\theme\default\template\product\category.tpl
найти:
<div class="product-compare">...</div>

удаляем все, что в контейнере. должно получится так:


<div class="product-compare"></div>

Сам контейнер с классом не удаляйте, если не знаете, какие последствия могут быть.

6 комментариев:

  1. Анонимный26 апреля, 2013 15:15

    Супер, как раз удачно нашел это - в гугле вы на первой странице по запросу вывода сравнения в шапку сайта)

    ОтветитьУдалить
  2. Спасибо! Полезная информация.

    ОтветитьУдалить
  3. А как так же вывести в подвал сайта??? Рядом с заметками?
    Если напишите, продублируйте пожалуйста на почту kuzya300@inbox.ru

    ОтветитьУдалить
  4. Спасибо за подсказку. В OpenCart 1.5.1.3 те же манипуляции и сравнения в любом месте выводятся.

    ОтветитьУдалить