(UPD) [msProductRemains] Вывод остатков на сайте

Всем привет. Продолжаю работать над компонентом остатков и добавлять функционал. Новая версия компонента 2.0.4-beta принесла небольшое, но важное изменение, — добавила логику на фронте сайта, которая была до 2 версии. Теперь по порядку.

1. В настройках появились старые новые опции:
  • Файл с Javascript — путь к файлу с JS-кодом, который отвечает за логику на фронте сайта;
  • Скрывать количество остатков — позволяет скрывать реальное количество товаров на фронте сайта. Если выключено, будет отображаться число оставшихся товаров по выбранным свойствам. Если включено, в тег будут записываться фразы, указанные словаре;
  • Число остатков для сравнения — если количество остатков товара больше или равно заданному числу, то будет отображаться текст, когда товара много. Если меньше — текст, когда товара мало или нет в наличии. Работает только при выключенной настройке «Скрывать количество остатков»..
2. В словаре доступны и используются три ключа:
  • mspr_text_more — Товар есть в наличии;
  • mspr_text_less — Товара осталось очень мало;
  • mspr_text_zero — Товара нет в наличии.
3. Есть два варианта вывода количества оставшихся товаров на фронте сайта и зависят от настройки «Скрывать количество остатков». В обоих случаях необходимо прописать в чанке msProduct.content в нужном месте следующий код.
  • При выключенной настройке:
    <div class="mspr-remains">В наличии <span class="mspr-count">[[!getRemains]]</span> шт.</div>
  • При включённой настройке:
    <div class="mspr-remains">[[!getRemains:gt=`0`:then=`[[%mspr_text_more]]`:else=`[[%mspr_text_zero]]`]]</div>
Как можно заметить из кода, js-код завязан на классе mspr-remains, то есть чисто остатков или текст добавляется в тег с этим классом.

На сегодня это все изменения. Обновляйтесь или покупайте и скачивайте компонент через панель управления вашим сайтом. И жду ваших пожеланий по компоненту.

UPD. По просьбе Максима Степанова была добавлена функция проверки выбранных свойств при добавлении товара в корзину. В случае, если у товара есть свойства, но одно из них не было выбрано при добавлении в корзину, выводится сообщение об ошибке и товар не добавляется в корзину. Проверяются только свойства, указанные в настройках компонента в опции Свойства товара.

В настройках появилась новая опция:
  • Включить проверку свойств товара — включает и выключает вышеописанную функцию;
В словаре доступны и используются два ключа:
  • mspr_choose_color — Текст сообщения, если не выбран цвет;
  • mspr_choose_size — Текст сообщения, если не выбран размер.
Сергей Фещуков
16 ноября 2015, 16:25
modx.pro
2 895
+6
Поблагодарить автора Отправить деньги

Комментарии: 5

Купчинский Михаил
26 ноября 2015, 15:37
0
Сергей, добрый день! Подскажите, если на сайте развернута версия 1.0.5 beta, то могут ли возникнуть сложности в обновлении на новую версию. Остатки на сайт подгружаются импортом из базы учета. Т.е можно не сохранять их при обновлении. а импортировать заново после обновления компонента.
    Сергей Фещуков
    26 ноября 2015, 16:24
    0
    Здравствуйте. К сожалению, да, могут возникнуть проблемы и именно при импорте остатков. Всё потому, что начиная со второй версии остатки хранятся в отдельной таблице. И импортировать их файлом, входящим в состав miniShop2, по-моему, не представляется возможным.
    Купчинский Михаил
    26 ноября 2015, 16:31
    0
    Сергей, а есть ли какая-то глобальная причина, для перехода на новую версию? Или можно по прежнему использовать старую?
    И еще, возникла необходимость в добавлении функционала в эту версию (1.0.5).
    Возможно ли к Вам обратится по этому поводу? (Оплату работ согласуем)
      Сергей Фещуков
      26 ноября 2015, 16:58
      0
      Глобальной причины, кроме необходимости учёта товаров по нескольким свойствам, переходить на новую версию нет. В принципе, можно использовать старую, если она работает без ошибок. При обновлении придётся ещё и чанки обновлять. Подробнее описано в этом посту.

      Смотря какой функционал. Напишите в техподдержку в магазине или на почту через здешний профиль. Если этот функционал присутствует в новой версии, то полезнее будет дописать стандартный импорт miniShop2 или написать свой импорт остатков.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5