Дополнение к Интернет-магазину Simpla CMS, которое позволяет пользователя откладывать товар для сравнения.
В списке сравнения можно сравнивать любые типы товаров.
Новые файлы
view/CompareView.php - модуль вывода товара для сравнения
ajax/compare.php - модуль динамического добавления товара в сравнение
design/[theme]/js/ajax_compare.js jаvascript 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 с индексом товара.