История заказов MS2

21 августа 2017, 18:14

Сниппет OfficeMiniShop2 выводит историю заказов miniShop2 текущего пользователя.

Всё построено на ExtJS - это очень удобно. Сам он загружается из установленного MODX, поэтому на разных версиях MODX он может выглядеть немного по разному.

Настройки вывода таблицы заказов работают примерно так же, как и у miniShop2:

Можно указать свой CSS файл с офрмлением ExtJS.

В отличие от miniShop2, вы еще можете указать 3 дополнительных параметра сниппету:

  • allowRemove - включить возможность удаления заказов со статусом "Новый".
  • allowRepeat - включить возможность повторения заказа.
  • cartLink - ссылка на корзину с оформлением заказа.

Логика работы повтора заказа следующая:

  1. Если повтор разрешён, в таблице заказов появляется соответствующая иконка.
  2. При клике на неё товары заказа набиваются в сессию, как будто бы пользователь сам добавил их в корзину.
  3. Дальше, если параметр cartLink не пуст, то пользователь переправляется на указанную страницу оформления заказа. Выбирает метод доставки, оплаты, заполняет или меняет нужные поля адреса.
  4. Если же этот параметр пуст, то заказ создаётся сразу же, копирую всё что можно из старого.

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

[[!officeMiniShop2?
    &allowRemove=`1`
    &allowRepeat=`1`    
    &cartLink=`/order/cart`
]]

Следующий документ
Удаленная авторизация