Здравствуйте, вопрос собственно в заголовке.
В файле catalog/model/checkout/order.php есть строка:
$this->addOrderHistory($order_id, 0);
Зачем эта строка? Зачем order_status_id устанавливать в 0, а потом в новое значение статуса, выбранного администратором?
В файле catalog/controller/mail/order.php есть следующий код:
$order_info = $this->model_checkout_order->getOrder($order_id);
if ($order_info) {
// If order status is 0 then becomes greater than 0 send main html email
if (!$order_info['order_status_id'] && $order_status_id) {
$this->add($order_info, $order_status_id, $comment, $notify);
}
// If order status is not 0 then send update text email
if ($order_info['order_status_id'] && $order_status_id) {
$this->edit($order_info, $order_status_id, $comment, $notify);
}
}
Так вот. Когда администратор сохраняет информацию о заказе, то order_status_id становиться 0, затем происходит отправка почты клиенту. А раз order_status_id 0, то опять срабатывает строка:
$this->add($order_info, $order_status_id, $comment, $notify);
Т.е. отправляется письмо как будто только что заказ создан. И после этого order_status_id меняется на необходимый.