Дополнению Compare

Опубликовано: 21 Ноя 2014

Compare - позволяет делать сравнение товаров по параметрам. ID товаров для сравнения сохраняются а куках. Данное дополнение можно использовать также для "Избранного".

Параметры сниппета

Название

Описание

По умолчанию

action

Действие.

Возможные значения:

to_compare - вывод строки со ссылкой на страницу сравнения;
print_id_list - список ID товаров, выбранных для сравнения (через запятую);
print_products - вывод таблицы параметров товаров (сравнение);
print_parent_id - вывод ID категории, товары которой выбраны.

to_compare

toCompare_tpl

Шаблон вывода строки со ссылкой на страницу сравнения и числом выбранных товаров

 

product_tpl

Шаблон вывода таблицы параметров товаров (сравнение). Пример: /chunks/compare_product.tpl

 

limitProducts

Максимальное число товаров для сравнения

0 (без ограничения)

comparePageId

ID страницы сравнения

 

onlyThisParentId

ID категории (документа), в которой можно добавить товары к сравнению. Запрет сравнения товаров из разных категорий

0 (любая категория)

filterTVID

TV ID через запятую, которые не нужно выводить в таблице параметров. Можно указать для каждого раздела отдельно (первый - по умолчанию). ID категории 1~TV ID 1, TV ID 2...||ID категории 2~TV ID 1, TV ID 2...||...

Пример: &filterTVID=`5~1,2,5||6~4,2||7~5,1`

или без категорий: &filterTVID=`1,2,5`

 

removeLastTwo

Если сравниваются только два товара, при удалении одного удалять оба (т.к. сравнивать будет нечего).

1 - включить

noResults

Текст, который будет выводиться, если не выбрано ни одного товара для сравнения.

 

 

Пример шаблона

Создаём чанк toCompare_tpl и вставляем следующий код:

 <p>
    Выбрано <span id="skolko_vibrano">[ [+count_current]]</span> из [ [+count_max]]
    / <a href="[ [+href_compare]]" onclick="return shkCompare.toCompareLink();">сравнить</a>
    <span id="sravnenie_otmena" style="display:[ [+display_cancel]];"> / <a href="[ [+href_cancel]]">отменить</a></span>
</p>
<br clear="all" />

Шаблон таблицы параметров товаров для сравнения
См. пример /chunks/compare_product.tpl.
Шаблон разделен на 6 частей (разделитель <!--tpl_separator-->).
Верхняя часть;
Строка одного параметра:
[ [+inner]] - ячейки таблицы с данными
[ [+classes]] - CSS-классы для строки таблицы: even - четная строка, odd - нечетная строка, last - последняя строка
Первая ячейка верхнего ряда;
Ячейки верхнего ряда таблицы. Например можно вывести названия товаров и фото:
Плейсхолдеры - любые поля и имена TV;
[ [+iteration]] - порядковый номер товара в списке (колонки);
[ [+classes]] - CSS-классы для ячейки таблицы: even - четная колонка, odd - нечетная колонка, last - последняя колока.
Ячейка с названием параметра (название берется из поля "Заголовок" в свойствах TV):
[ [+param_name]] - наименование (заголовок) параметра;
[ [+row_number]] - номер строки таблицы.
Ячейка со значением параметра:
[ [+param_name]] - наименование параметра;
[ [+tv_name]] - имя TV;
[ [+param_value]] - значение параметра;
[ [+iteration]] - порядковый номер товара в списке;
[ [+row_number]] - номер строки таблицы;
[ [+classes]] - CSS-классы для ячейки таблицы: even - четная колонка, odd - нечетная колонка, first - первая колонка, last - последняя колока.
Нижняя часть.

Примеры

На странице каталога:

[ [!compare?
&comparePageId=`15`
&limitProducts=`4`
&onlyThisParentId=`102`
]]

Страница сравнения:

[ [!compare?
&action=`print_products`
&product_tpl=`@FILE compare_product.tpl`
&filterTVID=`4,16`
]]

Избранное:

[ [!getProducts?
&resources=``
]]

Пример чекбокса, который добавляет товары к сравнению:

<input type="checkbox" name="compare" id="compare" value="1" onclick="return shkCompare.toCompare(,,this)" />
<label for="compare">Сравнить</label>

JavaScript-функции

Параметр

Описание

cmpOnToCompareLinkMinimum

если кликнули по ссылке "Сравнить", но выбран только один товар или ни одного (можно вывести сообщение)

cmpOnToCompareCheckClicked(id,parent,elem)

клик по чекбоксу "сравнить"

cmpOnToCompareLimitReached(limit)

выбрано максимальное число товаров для сравнение (можно вывести сообщение)

cmpOnToCompareFromAnotherCategory

если добавляется товар из другой категории (можно вывести сообщение)

Просто создайте функцию с таким именем и она будет вызвана при соответствующем событии.

Пример:

<script type="text/javascript">
function cmpOnToCompareLinkMinimum(){
    alert("Для сравнения необходимо выбрать минимум 2 товара.\n Пожалуйста, выберите товар для сравнения.");
}
</script>

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: