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

msOrder

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

Параметры

ПараметрПо умолчаниюОписание
tpltpl.msOrderЧанк оформления
userFieldsАссоциативный массив соответствия полей заказа полям профиля пользователя в формате "поле заказа" => "поле профиля".
showLogПоказывать дополнительную информацию о работе сниппета. Только для авторизованных в контексте "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>
Пример
php
Array
(
    [order] => Array
        (
            [cost] => 2 300
            [cart_cost] => 2 300
            [delivery_cost] => 0
            [discount_cost] => 0
        )

    [form] => Array
        (
            [receiver] => Ivan Ivanov
            [email] => ivanov@yandex.ru
        )

    [deliveries] => Array
        (
            [1] => Array
                (
                    [id] => 1
                    [name] => Самовывоз
                    [description] =>
                    [price] => 0
                    [weight_price] => 0.00
                    [distance_price] => 0.00
                    [logo] =>
                    [rank] => 0
                    [active] => 1
                    [class] =>
                    [properties] =>
                    [requires] => email,receiver
                    [free_delivery_amount] => 0.00
                    [payments] => Array
                        (
                            [0] => 1
                        )

                )

        )

    [payments] => Array
        (
            [1] => Array
                (
                    [id] => 1
                    [name] => Оплата наличными
                    [description] =>
                    [price] => 0
                    [logo] =>
                    [rank] => 0
                    [active] => 1
                    [class] =>
                    [properties] =>
                )

        )

    [errors] => Array
        (
        )

    [scriptProperties] => Array
        (
            [tpl] =>
            [userFields] =>
            [showLog] =>
        )

)

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

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

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

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

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

Примеры

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

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