Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод суммы заказов всей истории покупок пользователя

Автор johnРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 1749
Последний ответ 10 Октября 2014, 00:09:25
от admin
статус заказа - с отображением цветом в списке заказов

Автор kroxaРаздел Шаблоны XSLT

Ответов: 0
Просмотров: 2392
Последний ответ 10 Ноября 2011, 16:01:14
от kroxa
Постраничный вывод списка заказов залогиненного пользователя

Автор cergey251Раздел Макросы UMI.CMS

Ответов: 4
Просмотров: 3757
Последний ответ 29 Декабря 2011, 13:32:48
от cergey251
UMI.Selector: выборка заказов только зарегистрированных пользователей

Автор atachРаздел Custom макросы

Ответов: 1
Просмотров: 1997
Последний ответ 25 Мая 2017, 16:10:05
от admin
Корзина заказов без модуля интернет-магазина

Автор evinРаздел Разработка модулей

Ответов: 10
Просмотров: 8572
Последний ответ 05 Октября 2011, 12:42:16
от evin

0 Пользователей и 2 Гостей просматривают эту тему.

*

Exorcist

  • *
  • 25
  • +0/-0
    • Просмотр профиля
    • Allkindle-каждому свой Kindle
Статусы заказов и шаблоны писем
« : 22 Ноября 2011, 04:55:52 »
Как мне изменить существующий список статусов заказов? Там есть лишние по умолчанию.
И еще при изменении статуса заказа, я хочу чтобы к каждому статусу шло своё письмо , различные по содержанию

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Статусы заказов и шаблоны писем
« Ответ #1 : 22 Ноября 2011, 07:44:17 »
в системе предусмотрена отсылка писем при оформлении письма и при изменении статуса оплаты\доставки если ты хочешь написать свои варианты уведомлений, то пиши event на изменение статуса заказа, разбирай что это за заказ и отправляй то письмо которое хочешь, для того чтобы понять что именно писать посмотри файл /classes/modules/emarket/__notification.php можешь еще в event файлы в этой же папке заглянуть

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Статусы заказов и шаблоны писем
« Ответ #2 : 22 Ноября 2011, 07:45:39 »
насчте изменения существующих статусов заказа, это просто справочник, в который ты можешь добавить свои элементы, можешь даже попробовать убрать некоторые существующие, но экспериментируй аккуратно, они могу использоваться в коде)

*

Exorcist

  • *
  • 25
  • +0/-0
    • Просмотр профиля
    • Allkindle-каждому свой Kindle
Re:Статусы заказов и шаблоны писем
« Ответ #3 : 22 Ноября 2011, 08:17:30 »
насчте изменения существующих статусов заказа, это просто справочник, в который ты можешь добавить свои элементы, можешь даже попробовать убрать некоторые существующие, но экспериментируй аккуратно, они могу использоваться в коде)
Спасиб.Вот хотел убрать, а как не могу найти. Добавить плюсик есть, а убрать все перерыл.

За совет спасибо.Буду разбираться.

*

Exorcist

  • *
  • 25
  • +0/-0
    • Просмотр профиля
    • Allkindle-каждому свой Kindle
Re:Статусы заказов и шаблоны писем
« Ответ #4 : 25 Ноября 2011, 07:33:25 »
Значит дошел до статусов.

Как я понял вот массив с данным что передается в письмо в файле _notification.php
$param = array();
$param["order_id"]   = $order->id;
$param["order_name"] = $order->name;
$param["order_number"] = $order->number;
$param["status"]     = $statusString;

И есть в папке tpls/emarket/mail/default.tpl
$FORMS['status_notification'] = <<<END
    Добрый день,
    Бла бла бла.
    Номер заказа #%order_number%
END;

Но мне  4-ёх параметров мало . Я хочу еще в письме указать, адрес доставки что указал человек, товар который он заказал и его контактные данные.

Как их добавить в мой выше массив  $param. ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Статусы заказов и шаблоны писем
« Ответ #5 : 25 Ноября 2011, 09:51:42 »
создайте еще param["new_data"] = $new_data в /classes/modules/emarket/__notification.php а в шаблоне tpls/emarket/mail/default.tpl сделайте вывод
$FORMS['status_notification'] = <<<END
   Добрый день,
   Бла бла бла. %new_data%
   Номер заказа #%order_number%
END;

по поводу того как получить данные из заказа, там есть одна заковыкра. В функциях файла /classes/modules/emarket/__notification.php данные вытягиваются преимущественно из объекта $order ($order->name, $order->payment_id), но этот объект $order не содержит в себе все поля Заказа, а является как-бы урезанной копией, так что если хотите вытянуть  значение любого поля данного заказа вначале переопределите объект заказа

$full_order = umiObjectsCollection::getInstance()->getObject($order->id);
$delivery_address_id = $full_order ->delivery_address;
if($delivery_address_id) {
       $delivery_address = umiObjectsCollection::getInstance()->getObject($delivery_address_id);
       if($delivery_address) {
             $delivery_address_index = $delivery_address->index;
             $delivery_address_city = $delivery_address->city;
             // и так далее вытягиваете значение нужных вам полей
       }

код писал налету, так что отсутствие ошибок не гарантирую, но принцип такой

*

Exorcist

  • *
  • 25
  • +0/-0
    • Просмотр профиля
    • Allkindle-каждому свой Kindle
Re:Статусы заказов и шаблоны писем
« Ответ #6 : 25 Ноября 2011, 12:10:17 »
Понял спасибо. А вот какой принцип или как узнать как доставать данные.
Про delivery_adress понятно на примере.
1)А вот информацию о пользователе( он не регистрируясь вбивает данные) ФИО
2)Товары заказа ( наименование, количество, цена)
3) Способ доставки
4) Способ оплаты

Может где почитать архитектуру БД или типо того

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Статусы заказов и шаблоны писем
« Ответ #7 : 25 Ноября 2011, 12:35:01 »
открой заказ в админке и посмотри его в xml варианте (допиши .xml в адресной строке), там отобразятся все заполненные поля, как они называются и являются ли они прикрепленными объектами (как в случае с доставкой) или просто полями, как в случае с ответственным менеджером или датой заказа.

или в модуле шаблон данных найди тип данных "Заказ" и посмотри какие поля у него есть и что они из себя представляют

*

Exorcist

  • *
  • 25
  • +0/-0
    • Просмотр профиля
    • Allkindle-каждому свой Kindle
Re:Статусы заказов и шаблоны писем
« Ответ #8 : 25 Ноября 2011, 13:01:23 »
Спасиб. малость не догадался. Кстати если зайти в xml для заказа то ни данных покпателя ни адресов мы не увидим
http://site.ru/admin/emarket/order_edit/1076/.xml

если зайти в отредактировать адрес доставки

http://site.ru/admin/emarket/delivery_address_edit/1081/.xml

то еще что то увидим.

Но другие группы объектов нельзя отредактировать и следовательно через .xml мы ничего не увидим.

Буду пытать через шаблон данных заказ, смотреть группы объектов и их названия. Потом отпишусь.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Статусы заказов и шаблоны писем
« Ответ #9 : 26 Ноября 2011, 13:13:45 »
что бы просматривать данные, которые прикреплены как объекты (данные пользователя, адреса доставки) обратите внимание на атрибут у этих полей xhref:link вида "uobject://3456" это ссылка на сам объект данного пользователя, то есть если у вас открыт просмотр протокола uobject через http, то вы можете ввести в адресной строке site.ru/uobject://3456 и увидите информацию (и в том числе её структуру) о данном пользователе

*

Exorcist

  • *
  • 25
  • +0/-0
    • Просмотр профиля
    • Allkindle-каждому свой Kindle
Re:Статусы заказов и шаблоны писем
« Ответ #10 : 05 Декабря 2011, 08:39:18 »
Более менее разобрался. Все данные вытащил.

Но вот не могу вытащить список товаров в заказе( наименование, кол-во,цена)

Такие макросы как  %emarket order(%order_id%)% не канает. Так как они тащут всю ненужную информацию.

Не поможете?

P.S. Разобрался
« Последнее редактирование: 06 Декабря 2011, 07:07:34 от Exorcist »

*

penelite

  • *
  • 10
  • +0/-0
    • Просмотр профиля
    • http://penelite.ru/
Re:Статусы заказов и шаблоны писем
« Ответ #11 : 29 Февраля 2012, 17:37:55 »
Все-таки разъясните, пожалуйста, как правильно выводить товары в письме.
Как вытащить их в __notification.php я понял, а как их правильно передать в $param и как их потом отобразить в tpls/emarket/mail/default.tpl ?
Вытаскивать каждый параметр товара отдельно и передавать отдельным параметром? А если товаров несколько?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Статусы заказов и шаблоны писем
« Ответ #12 : 29 Февраля 2012, 22:32:11 »
достаточно в письма сделать вызов макроса %emarket order(%order_id%)%

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

*

penelite

  • *
  • 10
  • +0/-0
    • Просмотр профиля
    • http://penelite.ru/
Re:Статусы заказов и шаблоны писем
« Ответ #13 : 01 Марта 2012, 12:16:32 »
Спасибо!

*

penelite

  • *
  • 10
  • +0/-0
    • Просмотр профиля
    • http://penelite.ru/
Re:Статусы заказов и шаблоны писем
« Ответ #14 : 01 Марта 2012, 15:48:09 »
Товары выводятся. Только с выводом цены в них непонятная проблема.
Вывожу в нужном месте цену товара макросом %price%
Согласно документации
"%price%
Цена за единицу товара. Для вывода цены необходимо присутствие блоков price_original (исходная цена) и price_actual (актуальная цена)."
оба блока присутствуют.
Однако эти блоки не задействуются и у меня всегда выводится такой текст: "Российский рубль11Российский рубльруб1157"
Если посмотреть xml для этого заказа, то можно увидеть блок
"<price name="Российский рубль" rate="1" nominal="1" suffix="руб">
<actual>1157</actual>
</price>"
т.е. просто выводятся все значения атрибутов price и в конце цена.

Что делать? Что-то поменяли опять?
В каком файле php можно посмотреть, как заполняются эти параметры?
« Последнее редактирование: 01 Марта 2012, 15:51:32 от penelite »