Татьяна

Татьяна

Был в сети 17 июня 2018, 17:05
Заказы принимаю
Проблема решена, нужно использовать в своём обработчике переменную $msOrder, которая передается в событие, например:
$addr = $msOrder->getOne('Address')->toArray();

$phone = $addr['phone'];
$address = "$addr[country], $addr[region], $addr[city], $addr[street], $addr[building], $addr[room]";
Это просто для примера) Такой код работает в другом плагине на событие сохранения ресурса (с определенным id родителя). Получается, всё рабочее, но вешаю на событие создания заказа и всё, не работает. Ещё может подскажите, почему-то сниппет msGetOrder в связке с msCart и msOder вызывается 3 раза. В самом конце сниппета msGetOrder в ветке «else {» дописываю свой код, но срабатывает это всё 3 раза. Вот последние строчки сниппета:
if (!empty($toPlaceholder)) {
$modx->setPlaceholder($toPlaceholder, $output);
} else {
$addr = $order->getOne('Address')->toArray();

$phone = $addr['phone'];
$address = "$addr[country], $addr[region], $addr[city], $addr[street], $addr[building], $addr[room]";

$modx->runSnippet('CRMka', array('products' => $products, 'phone' => $phone, 'address' => $address));
return $output;
}
В плагин пишу пару строк всего, просто для теста:
<?php
$alias = $resource->get('alias');
$parent = $resource->get('parent');
if ($parent == 93) {
$resource->set('alias', 'testtt');
$resource->save();
}
Галочку на событие msOnCreateOrder ставлю, но при клике на кнопку перестает оформляться заказ. Т.е. не срабатывает даже стандартное событие