Т.е. я правильно понимаю, что при сохранении материала (заказа), снова вычисляется сумма через getTotalPrice.
При создании электронного письма админу магазина и покупателю снова вычисляется сумма через getTotalPrice.
Может мне тогда будет проще создать в типе материала "Заказ" два поля.
1. Доставка - значение 300 если сумма заказа больше 4000р. и 0 иначе.
2. Итого к оплате - сумма общей стоимости заказа и доставки.
Тогда вопрос, как мне при сохранении материала типа "Заказ" в файле
\media\zoo\applications\jbuniversal\framework\events\jbevent.item.php saved()
опять вычислить общую стоимость заказа через getTotalPrice, чтобы я смог сравнить ее с 4000р. и присвоить соответствующие значения моим новым полям "Доставка", "Итого к оплате" и благополучно все это сохранить.
Что-то вроде этого:
$dostavka = 0;
$itogo = 0;
$item = $event->getSubject(); // получаем объект сохраняемого материала
// как-то получаем стоимость заказа
$summa = getTotalPrice();
if ($summa < 4000){ $dostavka = 300; }
$itogi = $summa + $dostavka;
$item->getElement('<ELEMENT_ID_Доставка>')->bindData(array(
array('value' => $dostavka)
));
$item->getElement('<ELEMENT_ID_ИтогоКОплате>')->bindData(array(
array('value' => $itogo)
));
Может есть более рациональный путь решения моей проблемы...
У меня нет платежных шлюзов.
Заказ создается через форму подачи материалов, покупателю отправляется письмо, админ смотрит через админку этот заказ.
Нужно, чтобы у обоих была информация о том, что, если сумма заказа меньше 4000, добавляется 300р. к оплате. Подскажите пожалуйста.
Сообщение отредактировал firinmaxim: 05 June 2014 - 14:10