Плагины, виджеты, модули [Simpla CMS] Модуль сравнения (compare)

  • Автор темы Driver
  • Дата начала
Driver

Driver

Администратор
Регистрация
08.05.19
Сообщения
35,220
Реакции
258,984
[Simpla CMS] Модуль сравнения



Описание:

Дополнение к Интернет-магазину SimplaCMS. Позволяет пользователя откладывать товар для сравнения. В списке сравнения можно сравнивать любые типы товаров.



Функционал модуля:
- Возможность добавлять товар в сравнение
- Сохранение товаров для сравнения в сессиях
- AJAX модуль для динамического добавления
- Модуль для вывода списка сравнения


Продажник:
Материал может быть удален по просьбе

Скачать:

Настройка:

Код:

Новые файлы
view/CompareView.php модуль вывода товара для сравнения
ajax/compare.php модуль динамического добавления товара в сравнение
design/[theme]/js/ajax_compare.js javascript AJAX оперирования товаром в сравнении
design/[theme]/html/compare_informer.tpl пример шаблона вывода сравниваемых товаров в кратком списке
design/[theme]/html/compare.tpl пример шаблона вывода товаров для сравнения на странице

Измененные файлы
.htaccess
Добавлены пункты меню для сравнения (стр. 28)
# Сравнение
RewriteRule ^compare/?$ index.php?module=CompareView [L,QSA]
RewriteRule ^compare/([^/]+)/?$ index.php?module=CompareView&id=$1 [L,QSA]
RewriteRule ^compare/delete/([^/]+)/?$ index.php?module=CompareView&id=$1&action=delete [L,QSA]

view/IndexView.php
Сразу после вывода корзины (строка 36)
$this->design->assign('cart', $this->cart->get_cart());
выведем сравниваемые товары
//Сравнение
$compared = (array)$_SESSION['compared_products'];
$this->design->assign('compared_products', ($compared[0] > 0) ? $compared : array());

design/[theme]/html/index.tpl
Подключаем яваскрипт в шапку сразу после аяксовой корзины(строка 41)
<script src="design/{$settings->theme}/js/ajax_compare.js"></script>
После вывода верхнего меню получим список сравнения товаров (строка 110)
<li id="compare">{include file="compare_informer.tpl"}</li>
Тут мы подключили шаблон вывода сравнения complare_informer.tpl.

design/[theme]/html/products.tpl
Добавляем кнопку отправки товара в сравнение(стр. 138)
{if $product->id|in_array:$compared_products}<a href="#" rel="{$product->id}" class="compare selected" data-result-text="К сравнению">Из сравнения</a>{else}<a href="#" rel="{$product->id}" class="compare" data-result-text="Из сравнения">К сравнению</a>{/if}

design/[theme]/html/product.tpl
Добавляем кнопку отправки товара в сравнение(стр. 118)
{if $product->id|in_array:$compared_products}<a href="#" rel="{$product->id}" class="compare selected" data-result-text="К сравнению">Из сравнения</a>{else}<a href="#" rel="{$product->id}" class="compare" data-result-text="Из сравнения">К сравнению</a>{/if}

По аналогии можете отправлять в избранные товары и из новинок на главной и даже из просмотренные.
Обязательное условие у ссылки класс compare и параметр rel с индексом товара.
 

Похожие темы