Dark

Сравнение товаров в шапке. [How-To]

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

Dark    13

И так, захотелось мне вывести ссылку "Сравнение товаров" в шапку своего локального магазина.

Задача:

- вывести ссылку "Сравнение товаров" в шапку (header);

- вывести количество добавленного товара в "Сравнение товаров".

Snap2.png

Решение:

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
denor81    0

а vq решения нет случайно?

 

ps на 1.5.5.1 работает. Спасибо!

Изменено пользователем denor81

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sobwoofer    36

1.5.1.3.1

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

когда же в хедере одновременно стоят и заметки и сравнения, то заметки работают нормально, а когда добавить товар в сравнения, то заметки переименовуется в сравнения и обновляется число в скобках. само сравнение же остается не изменным до обновления страницы.

 после обновления же все стает на свои места. в чем проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
lawen    6

PS

Все это делается на стандартном шаблоне версии 1.5.4.1.

а как убрать ограничение по количеству в сравниваемых товарах? больше 4 не получается. шаблон палиоксис.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pozitivnet    8

а как убрать ограничение по количеству в сравниваемых товарах? больше 4 не получается. шаблон палиоксис.

 

в файле /catalog/controller/product/compare.php в строке

if (count($this->session->data['compare']) >= 4) {

значение 4 поменяйте на какое-нибудь 444 - и можете сравнивать сколько угодно товаров

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
uHK    1

PS.

Что бы в категориях не было дублированной надписи "Сравнение товаров" нужно сделать:

открыть: \catalog\view\theme\default\template\product\category.tpl

найти:



<div class="product-compare">
удалить все, что в контейнере. должно получится так:



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

 

 

А так же произвести аналогичную замену в файлах search.tpl и manufacturer_info.tpl расположенных в \catalog\view\theme\default\template\product\

Тем самым избавимся от дублей "Сравнение товаров" в разделах "поиск" и "производители".

 

А Dark'у - огромное спасибо за помощь в решении вопроса с разделом "Сравнение товаров"!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shnur    0

Большое спасибо! Все получилось! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Allaur    18

Доброго времени суток!

добавили счетчик количества добавленного товара в сравнение. (если нечего не добавлено - пишет 0).

А как сделать чтобы выводилось только значение >0 ? (больше ноля)

----------------------------------------------------

Как всё это реализовать на версию 2.1.0.1?

Спасибо.

Изменено пользователем Allaur

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Undertaker    2

Как всё это реализовать на версию 2.1.0.1?

Всё то же самое только писать надо

$data['compare'] = $this->url->link('product/compare');
$this->language->load('product/compare');
$data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));

Вместо

 

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

Иными словами первая и третья строка без "this->"

Изменено пользователем Undertaker

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
kolyesa    0

Спасибо все работает)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


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

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