Skip to content
  1. Компоненты
  2. miniShop2
  3. Сниппеты
  4. msOrder

msOrder

Сниппет оформления заказа.

Параметры

ПараметрПо умолчаниюОписание
tpltpl.msOrderЧанк оформления
userFieldsАссоциативный массив соответствия полей заказа полям профиля пользователя в формате "поле заказа" => "поле профиля".
showLogПоказывать дополнительную информацию о работе сниппета. Только для авторизованных в контекcте "mgr".

Подсказка

Можно использовать и другие общие параметры pdoTools

Оформление

Сниппет рассчитывает на работу с чанком Fenom. Он передаёт в него 5 переменных:

  • order - массив заказа из сессии пользователя
    • delivery - выбранный способ доставки
    • payment - выбранный способ оплаты
    • cost - общая стоимость заказа
  • deliveries - массив доступных свойств доставки заказа покупателю
  • payments - массив способов оплаты
  • form - массив с заполненными данными от покупателя. Там могут быть:
    • email - адрес покупателя
    • receiver - имя получателя
    • phone - телефон
    • index - почтовый индекс
    • region - область
    • city - город
    • street - улица
    • building - дом
    • room - комната
    • могут быть и другие значения, заданные при помощи параметра &userFields
  • errors - массив полей формы, заполненных с ошибками

Плейсхолдеры

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

modx
<pre>[[!msOrder?tpl=``]]</pre>
<pre>[[!msOrder?tpl=``]]</pre>

Создание заказа

Данный сниппет рекомендуется вызывать в связке с другими на странице оформления заказа:

modx
[[!msCart]] <!-- Просмотр и изменение корзины, скрывается после создания заказа -->

[[!msOrder]] <!-- Форма оформления заказа, скрывается после его создания -->

[[!msGetOrder]] <!-- Вывод информации о заказе, показывается после его создания -->
[[!msCart]] <!-- Просмотр и изменение корзины, скрывается после создания заказа -->

[[!msOrder]] <!-- Форма оформления заказа, скрывается после его создания -->

[[!msGetOrder]] <!-- Вывод информации о заказе, показывается после его создания -->

Примеры

Указываем получать имя авторизованного пользователя не из fullname, а из username:

modx
[[!msOrder?
  &userFields=`{"receiver":"username"}`
]]
[[!msOrder?
  &userFields=`{"receiver":"username"}`
]]