Автор дополнения
Степан Прищепенко
Пакетов
1
Закачек
223
Автор дополнения
Пакетов
1
Закачек
223
Обычно отвечает в течение нескольких дней
Версия 0.2.20-beta
Дата выпуска 28.03.2018
Загрузки 223
Просмотры 10 202
Внимание, этот компонент требует версию PHP 5.3 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
ВНИМАНИЕ: работает под любой версией miniShop2 (последняя мною протестированная 2.4.18-pl, и pdoTools 2.12.3-pl), последняя версия на которой я проверял работоспособность ModX 2.7.1 и php 7.3, если у вас возникли трудности с установкой и настройкой, скорее всего вам придется разбираться самостоятельно, подумайте об этом прежде чем приобретать компонент, а потом жаловаться что что-то не получается.
Универсальный компонент, позволяющий гибко управлять свойствами товаров, ценами и скидками (как у товара, так по значениями свойств товаров), количеством товаров на складе с привязкой к свойствам товаров.
Позволяет привязывать свойства к различным контекстам, что дает возможность управлять одновременно несколькими магазинами из одной админки. Осуществлена интеграция с компонентом mSearch2, что дает возможность пользователю искать товары, используя текущие динамические свойства в качестве критериев фильтра.
Компонент удобно использовать не только на сайтах интернет-магазинов, но и на сайтах каталогов. Дает возможность клиенту самостоятельно выбирать характеристики у товара в ситуации когда один и тот же товар с разными характеристиками может обладать индивидуальным артикулом и без проблем и пересечений с другими товарами находиться в корзине покупок.

Ключевая особенность


Cведение к минимуму дублирования одинаковых товаров, характеристики которых незначительно отличаются друг от друга.

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

Основные возможности:


  • динамическое создание свойств любого вида независимо от категории товара (задается в настройках плагина),
  • работа в нескольких контекстах без создания дубликатов свойств товаров,
  • привязка свойств к категориям товаров,
  • иерархическое наследование свойств от категорий,
  • автоматическое заполнение свойств товаров при создании товара, унаследованных от родителей (категорий),
  • копирование свойств товара/категории при копировании документа,
  • сортировка свойств через перетаскивание в общих настройках, категориях и товарах,
  • различное отображение свойств в зависимости от потребностей (информативный вид, короткий, режим изменения значения — редактирования),
  • возможность менять внешний вид и поведение каждого свойства,
  • управление внешним видом и характеристиками одного и того-же свойства в каждой категории по отдельности,
  • управление ценой товара в зависимости от выбранного свойства,
  • включение/выключение добавления скидок к товарам,
  • управление скидками у каждого свойства товара отдельно и в общем у товара,
  • перерасчет итоговой цены при изменении количества позиций товара перед и в момент добавления в корзину,
  • перерасчет цены при изменении количества товара на странице формировании заказа,
  • группировка свойств в админке и при выводе у клиента в тег fieldset с выводом имени группы,
  • добавление дополнительного описание к свойствам товаров,
  • добавление и вывод у клиента информации о скидках без перезагрузки страницы,
  • задание отдельных артикулов к каждому дополнительному свойству товара/категории,
  • управление количеством товара по тому или иному свойству (например, синих футболок
    на складе 20, красных 10, оба этих свойства прописаны у одного единственного документа),
  • доступ к компоненту и его работа регулируется правилами указанных в политике доступа miniShop2,
  • гибкое управление таблицами, положения полей можно запоминать в cookies браузера,
  • сохранение всех свойств товаров в истории заказов,
  • можно использовать эти свойства в качестве критериев поиска компонента mSearch2,
  • гибкое управление этими свойствами в качестве критериев mSearch2 при открытии клиентом различных категорий, через сниппет mFilter2.
  • позволяет динамически изменять параметры веса и размера в зависимости от выбранных характеристик товара



Обсуждение компонента в сообществе MODX.PRO.

Демо версия на msextrafields.setest.pro

0.2.20-beta (25)-february-2018)

  • поправил css стили в админке
  • исправил ошибку инсталятора, в случае перемещения папки core во вне корневой папки
  • исправил ошибку формирования параметра веса.
  • исправил ошибку заполнения значения переменной msextrafields_index
  • добавил в системный параметры ms2efs_price_allow_zero - позволяет устанавливать цену товара == 0
  • изменил управление скидками, теперь эту опцию можно использовать как наценку, например при >10 цена больше, т.к. трудная доставка Это серьезные изменения, т.к. если в предыдущих версиях, для пользователя всегда выбиралась оптимальная скидка (при наложении правил друг на друга), то сейчас приоритет отдается подходящему (ближайшему) правилу. Например есть варианты изменения цены: 1-5 -50%, 3-7 -10%, при кол-ве == 3 будет выбран вариант -10%, в предыдущих версия -50%. Теперь в правилах допустимо использовать следующие условия: N, N-N, =.
  • Цена товара теперь складывается из следующего принципа: берется изначальная цена и далее она управляется (дополняется) значением из поля цена из таблицы свойств товара, далее расчет дополняется параметром "Управление ценой" проходясь по каждому используемого клиентом свойству из таблицы, в самом конце идет корректировка по таблице "Управление ценой" - обьщей, которая распологается под таблицей свойств.
  • добавил в системный параметры ms2efs_price_show_scopes - при false на странице клиента динамически меняется блок с информацией об изменениях цены в ходе заказа, например если он положил в корзину кол-во товаров попадающих под скидку, в тот самы момент он получит соответствующее сообщение (взятое из раздела "подсказка" блока "управление ценой") в элемент с классом discounts. Иначе будут показаны все возможные варианты.
  • Когда клиент добавляет товар в корзину, или меняется значение свойств, кол-во товара, каждый раз идет запрос на перерасчет цены, т.е. Если он ранее положил этот товар в корзину, а затем решил положить еще 2 или более, а в правилах указано что при >3 товаров, цена изменется на -100р., то он увидит информациооное сообщение об этом, в тот момент когда наберет кол-во 2 в поле.
  • добавил в системный параметры ms2efs_each_val_in_counter - позволяет учитывать стоимость каждого значения свойства с типом "Список (множественный)". Например, клиент выбрал 3 значения в одном свойстве, цена в товаре которого == +1, то в итоге, при true будет прибавлено +3. При false, любая сумма свойств считается по одной цене, в данном случае +1. Значение этой опции также распространяется на поведение опции "Управление ценой".
  • поправил вывод лога.
  • добавил в свойства параметр offkey (Вне корзины) - если == true, то при вторичном добавлении товара в корзину, это свойство не будет учавствовать в создании уникального ключа товара. Например, есть товар "шарики", у него свойство "цвет". Клиент выбрал 10 синих шаров и добавил в корзину, подумал и решил что ему нужны зеленые, он выбирает зеленые и нажимает кнопку "Изменить" либо "добавить в корзину", в таком случае новый товар не создается, а лишь меняются хар-ки текущего товара и его кол-во в корзине.
  • добавил возможность изменять все хар-ки товара (включая кол-во) без повторного добавления товара в корзину. Например, вам нужно строго придерживаться кол-ву заказанных товаров, вы добавляете свою кнопку с , после чего при нажатии на нее в корзине меняются хар-ки только этого товара, все цены также пересчитываются. Есть возможность использовать из товара следующие ключи: cart/add - добавляет товар, в ответ получаем ключ товара в корзине cart/change - изменяет товар по ранее полученному ключу cart/remove - удаляет весь текущий товар в соответствии с ранее полученным ключем cart/clean - очищает всю корзину (перезагружает страницу)
  • изменил вывод анимации для элементов с классами e-price, new_price и discounts. Теперь можно прописать аттрибут data-animation в эти элементы, указав любое название анимации, подглядеть список можно тут: https://daneden.github.io/animate.css/

0.2.19-beta (11(26)-january-2018)

  • упростил построение чанка формы товара для работы компонента (теперь не нужно указывать селектор ms2efs_form)
  • translated lexicon files to english
  • обновил установочный пакет, ОЧЕНЬ рекомендую удалить все предыдущие версии компонента из modx если вы ими не пользуетесь, т.к. это сказывается на нагрузку БД и быстродействии раздела "установка компонентов". На некоторых хостингах предыдущие версии могут приводить к ошибке max_allowed_packet size и записям в error.log

0.2.18-beta (08-january-2018)

  • исправил ошибку подсчета цену при работе с типом элемента - checkbox. И его вывод в чанке checkbox_short_row.tpl. Будьте внимательны при отправке данных из чекбоксов, возможно вместо 1 у вас уходит ON это может сказаться на отображении в чанках.

0.2.17-beta (11-december-2017)

  • поправил вывод плейсхолдеров measure и measure_name в шаблоны оберток свойств при вызове их в товаре
  • исправил ошибку с плавающей запятой при выводе диапазона в форме фильтра у клиента
  • обновил ion.rangeSlider

0.2.16-beta (06-december-2017)

  • исправлена ошибка с плавающей запятой в свойстве "диапазон", теперь его можно указывать, например 0.21-0.99 с шагом 0.3. Обнаружил Виталий.
  • добавил вывод плейсхолдеров measure и measure_name в шаблоны оберток свойств при вызове их в товаре

0.2.15-beta (25-january-2017)

  • исправил дублирование вывода пункта меню при выбора создании товара в дереве ресурсов
  • исправил ошибку array_map (для PHP 7.0)
  • добавил в сниппет опцию showEmptyVal - выводит/скрывает свойства у кот не указано значение (исключения: флажок), при display IN (info, short)
  • исправил перезапись системных параметров при обновлении пакета
  • исправил ошибку двойного декларирования классов компонента
  • исправил первоначальное построение чекбоксов в фильтре, теперь он в состоянии "не установлен" при открытии страницы.
  • исправил ошибку поиска в фильтре, при установленном чекбоксе и включенном плагине bootstrap-multiselect
  • добавил системный параметр ms2efs_product_custom_measure_defval - позволяет устанавливать значение ед. измерения по-умолчанию при открытии документа на редактирование.
  • исправил сортировку фильтров, при выводе у клиента, и при выводе характеристик. Принцип следующий: сначала характеристики сортируются по рангу (порядку свойств в категории и в общем списке если это и фильтр, и в товаре и общем списке если вывод идет в товаре), затем идет сортировка по группе.

0.2.14-beta (04-january-2017)

  • Исправил ошибку подключения плагина, возникла после внесения изменений в ms2 2.4.7 pl
  • Исправил подключение JS с прописыванием номера версии, чтобы не чистить кеш браузера при обновлении скриптов и стилей новой версии у клиента
  • Добавил подключение лексикона для правильного отображения столбца свойств в истории покупок, при использовании компонента Office. Для этого нужно в системную настройку office_ms2_order_product_fields добавить поле option_msextrafields_order
  • Исправлена ошибка построения свойств

0.2.13-beta (21-december-2016)

  • Исправлена ошибка вывода пустого значения веса
  • Исправил вызов makePlaceholders при использовании нового ms2
  • Исправил работу с mFilter2 (пагинация, сортировка, лимит)
  • Убрал добавление в адресную строку ключа кеша при работе с mFilter2
  • Добавил топик лексикона "FrontEnd", добавил возможность их вывода в JS у клиента, прописал используемые в lexicon
  • Исправил работу кнопки у клиента в MS2 не сбрасывает параметры.
  • добавил вывод анимации при обновлении свойств у клиента в JS, т.е. при возвращении значений гибких свойств (на данный момент weight и size), то к объектам этих классов применяется анимация через метод addAnimation (его можно использовать на любом объекте).
  • Изменил получении информации о версии msExtraFields.version в JS
  • Исправил ms2efsCartHandler

0.2.12-beta (17-november-2016)

  • Реализовал интеграцию с miniShop2 старше 2.2.0-pl2. Теперь в ходе устновки и работы проверяется поколение ms2 до и после, что позволяет работать комопненту в любых версиях магазина.
  • Исправил работу с PdoTools с версиями старше 2.5.2 pl
  • Исправил работу с mSearch2 (версии 1.6.0-pl и старше)
  • Поправил работу размера и веса
  • Свойство товара с опцией shortname (weight|size) теперь обрабатывает и значение По типу может быть текстовым поле, списком, радио кнопкой. Теперь стандартные значения размера и веса, которые есть в ms2, нет необходимости выставлять, иначе берется наибольшее значение. Если не работает расчет веса включите в php bcmath!
  • Добавил класс обработчика корзины ms2efsCartHandler, он занимается подсчетом общего объема товара (total_volume) и веса (total_weight), что дает правильную работу с компонентами доставки (например msDellin2)
  • Добавил сис. параметр ms2efs_capacity_coef. Служит для правильно формирования значения total_value - оно используется службами доставки для передачи объема товара высчитывается в м3. Т.о. если у вас размер товара в см., то при умножении сторон, итоговую величину нужно разделить на 1000000 чтобы получить м3.
  • Добавил сис. параметр ms2efs_separate_props он позволяет выносить таблицу свойств в товаре в отдельный таб, ибо в версих ms2 (старше 2.2.0-pl2) построение идет ниче чем раньше, вывод делится на 2 колонки, в результате таблица сильно сжимается и работать становиться не удобно.
  • Параметр ms2efs_extracolumnsseparate сохранился но работает только в старых версиях ms2
  • Мелкие исправления в коде.

0.2.11-beta (10-november-2016)

  • Добавил к свойствам товара параметры вес (weight) и размер (size), которые также влияют на основные параметры при изменении значения динамических свойств товара перед добавлением в корзину. Ввод значения weight идет в соответствии с настройкой ms2_weight_delimeter. Например, в свойстве "подарок" параметр веса (у значения "наушники") равняется "+100". После того как добавили в корзину к изначальному весу товара прибавиться 100. Можно указывать префикс +- если без префикса - то будет переписан изначальный вес. Размер высчитывается иначе, из принципа "кто больше тот и папа". Записывается в соответствии с разделителем указанным в сис. параметре ms2efs_size_delimeter. Учтите что этот параметр и ms2efs_size_measure должны соответствовать параметрам компонента доставки например. Также если создать свойство в поле "Имя опции" (shortname) которого будет указано weight или size, а затем в товаре указать их значения (рекомендую использовать тип "текст", убрать "фильтр", добавить "только в INFO" и "видно в Short"). То значения этих свойств будут использоваться в качестве замены родным свойствам MS2 и учитываться в расчете.

0.2.10-beta

  • Added snippet properties "tpl_wraper" and "wrapIfEmpty", now you can wrap your results.
  • Some fixes.
  • Добавил дополнительную проверку на формировании чанка с указанием суффикса @FILE теперь поиск сначала идет с учетом переменной tplPath затем tplPathMain - который содержит базовый путь к чанкам. Таким образом можно не класть все чанки в одно место, в случае использования разных путей.
  • Добавил в сниппет параметр hideInfo, позволяет ограничить вывод свойств в товаре скрывая все свойства с параметром onlyInfo==1
  • Диапазон не правльно скрывался во фронтенде.
  • Добавил тип "скрытое поле".
  • Добавил поле "shortname" в общие свойства, что позволяет заменять стандартное значение name отправляемых на сервер. Например можно задать параметр == size и полностью отказаться от использования стандартной настройки size. На вес это пока не распространяется, так как этот параметр в MS2 не является гибким (не считая расширения его через плагины), и строиться совсем по другим принципам. Но можно без проблем завести в БД новое поле и с помощью этой настройки записывать в него данные. Значени поля является уникальным.
  • Добавил параметр "addhidden" к свойствам товаров, что позволяет добавлять скрытое поле с тем же значением параметра. Например Вам нужно вывести список свойств и включить в него "размер товара", так чтобы визуально он не выбивался из общего вида и в то же время был передан как параметр в корзину. Для более подробного понимания действия смотрите на данные отправляемые через POST при добавлении в корзину. Скрытое поле добавляется не зависимо от типа отображения display, исключением представляет поле с типом "скрытое", в нем значение не дублируется. В самом коде добавления отображаются в самом конце каждой группы товаров.
  • Исправил ошибку обмена данными с отключенным multiselect
  • Исправил работу скриптов с Jquery = 5.6 version;

0.1.5-beta

  • Fixed installation;

0.1.4-beta

  • Added system properties for used in frontend (ms2sf_frontend_debug_console, ms2sf_frontend_js_multiselect);
  • Added cacheUid parameter;
  • Fixed log;

0.1.3-beta

  • Added parameter "resourceId" for evoke sFilters from snippet mFilter2 in documents what is not implements by class "category";
  • Added some parameters to "settings_additions" resolver;
  • Added Bootstrap Multiselect in package;

0.1.2-beta

  • Some code improvements;

0.1.1-beta

  • Initial release

Последние обсуждения в сообществе MODX.pro