Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как добавить кнопку "Сравнение"? [РЕШЕНО]


Recommended Posts

В версии 1.5 нигде нет кнопки "Сравнение". Т.е. добавить товар в сравнение можно, а чисто самой ссылки на страницу, как, например "В заметки", нет.

В правом верхнем углу есть ссылки "Главная", "Заметки" и т.д. Как добавить туда кнопку "Сравнение" и чтобы сообщалось количество добавленных товаров как у кнопки "Заметки"?

Надіслати
Поділитися на інших сайтах


Сделал, но не совсем.

Получилась ссылка: <a href="index.php?route=product/compare" id="compare_total">Сравнения</a>

Все бы хорошо, но не сохраняется цифра в скобках. Т.е. нажимаешь в товаре "В сравнение". Возле кнопки "Сравнения" появляется (1). Уходишь на другую страницу - все пропадает, остается только слово "Сравнения".

У заметок это реализовано через id="wishlist_total". Видимо надо еще где-то что-т прописывать.

Подскажите.

Надіслати
Поділитися на інших сайтах


Сделал, но не совсем.

Получилась ссылка: <a href="index.php?route=product/compare" id="compare_total">Сравнения</a>

Все бы хорошо, но не сохраняется цифра в скобках. Т.е. нажимаешь в товаре "В сравнение". Возле кнопки "Сравнения" появляется (1). Уходишь на другую страницу - все пропадает, остается только слово "Сравнения".

У заметок это реализовано через id="wishlist_total". Видимо надо еще где-то что-т прописывать.

Подскажите.

Столкнулся с похожей проблемой. Кто-нибудь может помочь с реализацией, в том числе платной.

Надіслати
Поділитися на інших сайтах


  • 3 months later...

Возле кнопки "Сравнения" появляется (1). Уходишь на другую страницу - все пропадает, остается только слово "Сравнения".

Нужно скопировать всё по compare из controllerproductcategory.php в controllercommonheader.php , тогда кол-во сравниваемого товара в шапке будет актуальным в любом разделе.

$this->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');
Надіслати
Поділитися на інших сайтах


Блин, не все так просто)

Нужно все делать по образцу с "Заметками", т.е. wishlist.

В предыдущем сообщение изменяется только файл catalogcontrollercommonheader.php - в результате ничего не происходит, потому что у меня в файле catalogviewthemedefulttemplatecommonheader.tpl ссылка "Сравнения" задана как:

<a href="index.php?route=product/compare" id="compare_total">Сравнения</a>

А я так понял её нужно задать как:

<a href="<?php echo $compare; ?>" id="compare_total"><?php echo $text_compare; ?></a></div>

В результате где-то на 40% ссылка работает. Т.е. есть еще какой-то файл, где должно фигурировать описание ссылки. Где он находится?

Надіслати
Поділитися на інших сайтах


<a href="<?php echo $compare; ?>" id="compare_total"><?php echo $text_compare; ?></a>
Да, в хедере шкурки именно так и ставил. А в хедер контроллера те две строки выше. Но.

Сегодня обнаружил, что $this->data['text_compare']... нужно ставить выше $this->language->load('common/header');

Тогда появляется Сравнение (0). Если ниже ставить, то будет то самое Сравнение без счетчика после переходов.

Правда в первом случае счетчик сохраняется, когда ты уходишь из текущей категории в другую, можно браузить по другим товарам в пределах product/category. Но стоит перейти например на главную, как Сравнение вообще слетает, вместе с переводом ))) Хотя может это у меня так, пока в стадии экспериментов.

---

Еще один способ вычитал на соседнем ресурсе:

Дескать надо присвоить в хедере шаблона другой айди, типа id="compare_total_another" и в common.js дописать его после $('#compare-total').html(json['total']);

т.е. будет:

в хедере
<a href="<?php echo $compare; ?>" id="compare_total_another"><?php echo $text_compare; ?></a>
---
в скрипте
$('#compare-total').html(json['total']);
$('#compare-total-another').html(json['total']);
Но у меня лично это не дало никакого видимого эффекта, всё как было.
Надіслати
Поділитися на інших сайтах


Да, в хедере шкурки именно так и ставил. А в хедер контроллера те две строки выше. Но.

Сегодня обнаружил, что $this->data['text_compare']... нужно ставить выше $this->language->load('common/header');

Тогда появляется Сравнение (0). Если ниже ставить, то будет то самое Сравнение без счетчика после переходов.

Правда в первом случае счетчик сохраняется, когда ты уходишь из текущей категории в другую, можно браузить по другим товарам в пределах product/category. Но стоит перейти например на главную, как Сравнение вообще слетает, вместе с переводом ))) Хотя может это у меня так, пока в стадии экспериментов.

---

Еще один способ вычитал на соседнем ресурсе:

Дескать надо присвоить в хедере шаблона другой айди, типа id="compare_total_another" и в common.js дописать его после $('#compare-total').html(json['total']);

т.е. будет:

в хедере
<a href="<?php echo $compare; ?>" id="compare_total_another"><?php echo $text_compare; ?></a>
---
в скрипте
$('#compare-total').html(json['total']);
$('#compare-total-another').html(json['total']);
Но у меня лично это не дало никакого видимого эффекта, всё как было.

да, я вот про это имел ввиду, что работает на 40%))) Т.е. на нескольких страницах как надо, а на остальные вообще ничего.

Поэтому и возникла мысль, что нужно доработать еще какой-то файл.

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

Вторым способом я тоже делал, но в итоге получается, что добавляешь второй id, кот точно также работает как и первый. Это просто имя, с таким же успехом можно переименовать "Сравнения" в "Заметки")

Надіслати
Поділитися на інших сайтах


Вот решение

Оно на vqmod.

---

Кстати, победил таки первым способом. Надо было еще в перевод хедера Сравнение добавить.

Объединю всё:

Контроллер/хедер:
$this->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');

тема/хедер:
<a href="<?php echo $compare; ?>" id="compare_total"><?php echo $text_compare; ?></a>

языки/хедер:
$_['text_compare']	   = 'Сравнение товаров (%s)';

  • +1 4
Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.