Дополнение для Evo ветки 1.4.x для сравнения товаров или любых других ресурсов сайта.
- Добавить в сравнение можно из ленты товаров, и из страницы товара, из любого другого места.
- Таблицу сравнения можно разместить в любом месте сайта.
- Вместо таблицы может быть любая другая форма сравнения, все зависит только от шаблона.
- Автоматически интегрируется с eFilter в режиме Ajax.
Устанавливается автоматически, архивом с Github через Экстрас. При установке EvoCompare создаётся папка assets/snippets/Compare/
с файлами:
Compare/
compare.js
config.compare.php
plugin.compare.php
Также устанавливается плагин ComparePlugin
в админке.
Задаются в файле assets/snippets/Compare/config.compare.php
, там отредактируйте и поставьте свои параметры, шаблоны, tvList, сортировку и т.д. Все параметры и шаблоны как у ДокЛистера.
В каждой "плитке" товара в Каталоге, а также на отдельных Страницах товара, нужно вписать HTML-код для добавления к сравнению. Сам тег элемента может быть любой, у него могут быть любые классы и т.д.
Но должны быть три обязательных атрибута: data-role="compareButton"
, data-action="addToCompareList"
и data-id со значением ИД товара, например data-id="[+id+]"
<span data-role="compareButton" data-action="addToCompareList" data-id="[+id+]">
<i class="fas fa-chart-bar"></i>
</span>
Когда товар добавлен к сравнению, у элемента появляется класс активности, по дефолту active
, он предназначен для оформления. В параметрах можно задать другой класс активности.
Если нужна кнопка с текстом, то можно добавить текст, и потом управлять видимостью через CSS.
<span data-role="compareButton" data-action="addToCompareList" data-id="[+id+]">
<i class="fas fa-chart-bar"></i>
<span class="add">Сравнить</span>
<span class="remove">Убрать из сравнения</span>
</span>
В разметке для Таблицы сравнения обязательно должен быть тег-обертка с атрибутом data-role="compareTable"
. Таблица cравнения будет вставляться Аяксом внутрь этого тега.
<div data-role="compareTable" class="tovary page-block"></div>
Счетчик - любой тег с обязательными атрибутами data-role="compareCountWrap"
для обертки счетчика и data-role="compareCount"
для самого числа. Число вставляется в этот внутренний тег.
<div data-role="compareCountWrap">
<span data-role="compareCount"></span>
</div>
Когда кол-во ненулевое, к обертке будет добавляться класс активности, по умолчанию active
. К внутреннему тегу также добавится класс активности. В параметрах можно задать другой класс активности.
Тег кнопки очистки всего сравнения должен иметь атрибут data-role="compareClearButton"
.
<div class="btn btn-danger btn-md" data-role="compareClearButton">Очистить сравнение</div>