Skip to content
На этой странице
  1. Компоненты
  2. miniShop2
  3. Сниппеты
  4. msGetOrder

msGetOrder

Сниппет вывода оформленного заказа.

Используется на странице оформления заказа и отправки почтовых уведомлений покупателям.

Параметры

ПараметрПо умолчаниюОписание
tpltpl.msGetOrderЧанк оформления
includeTVsСписок ТВ параметров для выборки, через запятую. Например: "action,time" дадут плейсхолдеры [[+action]] и [[+time]].
includeThumbsСписок размеров превьюшек для выборки, через запятую. Например: "120x90,360x240" дадут плейслолдеры [[+120x90]] и [[+360x240]]. Картинки должны быть заранее сгенерированы в галерее товара.
toPlaceholderЕсли не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран.
showLogПоказывать дополнительную информацию о работе сниппета. Только для авторизованных в контекcте "mgr".

Подсказка

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

Оформление

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

  • order - массив с данными заказа из объекта msOrder
  • products - массив заказанных товаров со всеми их свойствами
  • user - массив данных из объектов modUser и modUserProfile со всеми свойствами покупателя
  • address - массив данных из объекта msAddress со указанными данными для доставки
  • delivery - массив со свойствами выбранной доставки из объекта msDelivery
  • payment - массив со свойствами выбранной оплаты из объекта msPayment
  • total - массив с итоговыми данными заказа:
    • cost - общая стоимость заказа
    • weight - общий вес заказа
    • delivery_cost - отдельная стоимость доставки
    • cart_cost - отдельная стоимость заказанных товаров
    • cart_weight - общий вес заказанных товаров
    • cart_count - количество заказанных товаров

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

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

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

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

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

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

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

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

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

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

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

Оформление писем

Этот сниппет используется классом miniShop2 для оформления почтовых уведомлений покупателям, если вы включили их отправку в настройках статусов. Все переменные сниппета msGetOrder: order, products, user, address, delivery, payment и total также доступны для использования в письмах почтовых уведомлений.

По умолчанию все письма расширяют один базовый почтовый шаблон tpl.msEmail и меняют заданные в нём блоки:

  • logo - логотип магазина со ссылкой на главную страницу
  • title - заголовок письма
  • products - таблица заказанные товаров
  • footer - ссылка на сайте в подвале письма

Например, письмо с новым заказом покупателю выглядит так:

fenom
{extends 'tpl.msEmail'}

{block 'title'}
  {'ms2_email_subject_new_user' | lexicon : $order}
{/block}

{block 'products'}
  {parent}
  {if $payment_link?}
    <p style="margin-left:20px;{$style.p}">
      {'ms2_payment_link' | lexicon : ['link' => $payment_link]}
    </p>
  {/if}
{/block}
{extends 'tpl.msEmail'}

{block 'title'}
  {'ms2_email_subject_new_user' | lexicon : $order}
{/block}

{block 'products'}
  {parent}
  {if $payment_link?}
    <p style="margin-left:20px;{$style.p}">
      {'ms2_payment_link' | lexicon : ['link' => $payment_link]}
    </p>
  {/if}
{/block}

Как видите, здесь наследуется основной шаблон, меняется заголовок, а к таблице товаров добавляется ссылка на оплату (если есть).

Подробнее о расширении шаблонов вы можете прочитать в документации Fenom.