Автор дополнения
Степан Прищепенко
Пакетов
1
Закачек
124
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
1
Закачек
124
Обычно отвечает в течение нескольких дней
Версия 0.2.20-beta
Дата выпуска 28.03.2018
Загрузки 124
Просмотры 4 113
Внимание, этот компонент требует версию PHP 5.3 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
ВНИМАНИЕ: работает под любой версией miniShop2.
Универсальный компонент, позволяющий гибко управлять свойствами товаров, ценами и скидками (как у товара, так по значениями свойств товаров), количеством товаров на складе с привязкой к свойствам товаров.
Позволяет привязывать свойства к различным контекстам, что дает возможность управлять одновременно несколькими магазинами из одной админки. Осуществлена интеграция с компонентом 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