[msExtraFields] 0.2.12 снова в строю
Привет всем! Начиная с текущей версии (0.2.12-beta) компонент перенес много изменений, и все также остался плагином MS2. В отличие от других подобных компонентов, способен работать как в последних версиях miniShop2 (я называю ms2 «нового поколения» начиная с версии 2.4.0-beta1) так и во всех предыдущих версиях (назовем «старое поколение ms2»). На изменения также повлияло развитие компонентов PdoTools и mSearch2. Как и всегда упор делался на гибкость и взаимосвязь свойств товаров и их значений, добавилась возможность прописывать вес и размер и соответственно изменять их от предпочтений сделанных клиентом при выборе товара.

Ниже приведен пример отображения и фильтрации данных, чтобы было понятно как работает поиск, я отделил свойства фильтра, строящиеся этим компонентом, в отдельный блок, над ним расположены родные свойства (цена, категории, теги). У каждого товара выводятся динамические свойства и родные свойств: «цена, тег, категория». Соответственно чтобы видеть как идет фильтрация заполнено 2 товара с разными характеристиками.

В этом примере, представлено изменение цены, веса и размера от выбранного значения характеристики. В левой части — вид свойств в админке (я скрыл часть полей чтобы уместить данные), справа вид у клиента (отключил родную анимацию). Первоначальная цена, вес и размер — это значения заполненные в стандартных полях MS2. Поля цена и те что подчеркнуты красным меняются в зав-ти от значения свойств. По умолчанию, у каждого товара при добавлении его в корзину, формируется уникальный ключ, это позволяет создавать, один и тот же товар, с разными характеристиками, как несколько отдельных товаров.

Акцент был сделан именно на управление значениями вес и размер товара, т.к. эти данные имеют большое значение при расчете стоимости доставки. С этим компонентом появилась возможность управлять этими значениями как угодно:
Опять же отмечу: и в старых версиях ms2 и новых компонент прекрасно работает, комбинируется как с компонентами доставки, так и оплаты дополняя друг-друга. Но не забываем, что все случаи индивидуальны и возможно разработчик, того или иного дополнения, пошел не стандартным путем.
Ссылка на магазин: msExtraFields
Ссылка на демонстрационный сайт.

Ниже приведен пример отображения и фильтрации данных, чтобы было понятно как работает поиск, я отделил свойства фильтра, строящиеся этим компонентом, в отдельный блок, над ним расположены родные свойства (цена, категории, теги). У каждого товара выводятся динамические свойства и родные свойств: «цена, тег, категория». Соответственно чтобы видеть как идет фильтрация заполнено 2 товара с разными характеристиками.

В этом примере, представлено изменение цены, веса и размера от выбранного значения характеристики. В левой части — вид свойств в админке (я скрыл часть полей чтобы уместить данные), справа вид у клиента (отключил родную анимацию). Первоначальная цена, вес и размер — это значения заполненные в стандартных полях MS2. Поля цена и те что подчеркнуты красным меняются в зав-ти от значения свойств. По умолчанию, у каждого товара при добавлении его в корзину, формируется уникальный ключ, это позволяет создавать, один и тот же товар, с разными характеристиками, как несколько отдельных товаров.

Акцент был сделан именно на управление значениями вес и размер товара, т.к. эти данные имеют большое значение при расчете стоимости доставки. С этим компонентом появилась возможность управлять этими значениями как угодно:
- например их можно разместить в выпадающие списки и менеджеру при заполении, нужно будет только выбрать значение, а не вводить его
- связать эти значения так, что при увеличении веса будет автоматически увеличен размер посылки и наобарот
- или выделить отдельное значение характеристики, которое изменит оба значения, к примеру свойство «дополнительно» со значением «добавить крепежный комплект» прибавит к товару 5 кг веса, что может ощутимо сказаться на стоимости доставке.
- Расчет ведется с учетом родных значений ms2, поэтому даже если в товаре не указать новые данные, за основу берутся те что есть.
- Если есть несколько различных характеристик с изменением габаритов и веса, то в итоге выбираются наибольшие значения
- Если значение веса привело к тому что он стал равен 0 или меньше 0, то его значение устанавливается на изначальное.
- Значения устанавливаются в соответствии с правилами указанными в системных настройках компонента, учитываются разделители, единицы измерения и коэффициент перевода в м3. Поэтому общие настройки нужно устанавливать в соответствии с настройками компонентов доставки (или наобарот). Например, ошибочно будет в доставке учитывать объем в см3, а в компоненте в м3.
- В админке при вводе значений корректирующих полей товара размера и веса, значения проходят валидацию на ввод данных соответствующих текущим настройкам и настрокам ms2. Например +100.00 или 10x100x200.
Опять же отмечу: и в старых версиях ms2 и новых компонент прекрасно работает, комбинируется как с компонентами доставки, так и оплаты дополняя друг-друга. Но не забываем, что все случаи индивидуальны и возможно разработчик, того или иного дополнения, пошел не стандартным путем.
Ссылка на магазин: msExtraFields
Ссылка на демонстрационный сайт.
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Задача;
1.Есть сайт на хостинге с компонентом. Сайт глючит.
2.Нужно разобраться с проблемой. Нужно собрать сайт на локальном хостинге пошагово.
3.Необходимо перенести компонент на локальный сайт с настройками. (полная копия сайта на локальном хостинге также глючит).
4.Как это сделать?
Как переносить компонент? Через экспорт импорт таблиц базы данных? Не нарушится ли при этом ссылочная целостность? Ведь при экспорте импорте товаров ID ресурсов и шаблонов будут другие.
Вообщем, помогите направить ход мысли в нужное русло.
1. Бывает. Тут разбираться надо, в чем выражается и тд.
2. Что значит собрать? установить modx с нуля и натянуть все на него с исходного сайта — делается как обычно через установку пакетов. Пакеты берутся со старого сайта.
3. Переносите таблицы, точные названия можно подглядеть в файле схемы компонента: и накатываете его сверху копируя пакет. Но в таком случае нужно будет действительно сопоставить их с идентификаторами ресурсов. Можно написать миграцию, которая присвоит правильные идентификаторы на чем то основываясь, но это долго.
Если на сайте бардак в кодеи БД и хочется все сделать заново, а ресурсов много, я бы перенес БД на новую установку modx и выпилил из нее руками все что не нужно, включая все пакеты, затем исправил шаблоны на нужные, либо создал новые и прописал их у требуемых ресурсов. Дальше частями оживлял сайт как обычно и подключал требуемые компоненты. Периодически поглядывая в лог не появляется ли там чего интересного с каждым компонентом.
Свойства: Напряжение: 12В; Емкость: 33А*ч; Срок службы: 5лет
После импорта в этих динамических свойствах пусто.
Есть ли возможность с помощью MODX API записывать динамические свойства товара? И если есть, то как это можно сделать?