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"}`
]]