Giter Club home page Giter Club logo

evocompare's Introduction

EvoCompare

Дополнение для Evo ветки 1.4.x для сравнения товаров или любых других ресурсов сайта.

  • Добавить в сравнение можно из ленты товаров, и из страницы товара, из любого другого места.
  • Таблицу сравнения можно разместить в любом месте сайта.
  • Вместо таблицы может быть любая другая форма сравнения, все зависит только от шаблона.
  • Автоматически интегрируется с eFilter в режиме Ajax.

Структура

Устанавливается автоматически, архивом с Github через Экстрас. При установке EvoCompare создаётся папка assets/snippets/Compare/ с файлами:

Compare/
   compare.js
   config.compare.php
   plugin.compare.php         

Также устанавливается плагин ComparePlugin в админке.

1. Параметры и шаблоны

Задаются в файле assets/snippets/Compare/config.compare.php, там отредактируйте и поставьте свои параметры, шаблоны, tvList, сортировку и т.д. Все параметры и шаблоны как у ДокЛистера.

2. Верстка для Товаров

В каждой "плитке" товара в Каталоге, а также на отдельных Страницах товара, нужно вписать 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>

3. Таблица сравнения

В разметке для Таблицы сравнения обязательно должен быть тег-обертка с атрибутом data-role="compareTable". Таблица cравнения будет вставляться Аяксом внутрь этого тега.

Пример тега-обертки для Таблицы сравнения

<div data-role="compareTable" class="tovary page-block"></div>

4. Счетчик

Счетчик - любой тег с обязательными атрибутами data-role="compareCountWrap" для обертки счетчика и data-role="compareCount" для самого числа. Число вставляется в этот внутренний тег.

Пример тега для счетчика

<div data-role="compareCountWrap">
    <span data-role="compareCount"></span>
</div>

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

5. Очистить сравнение

Тег кнопки очистки всего сравнения должен иметь атрибут data-role="compareClearButton".

Пример тега очистки

<div class="btn btn-danger btn-md" data-role="compareClearButton">Очистить сравнение</div>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.