Ответить Новая тема Новый опрос 
Всего: 2 < 1 2
 Отправка смс
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


06-08-2015 06:26
Цитата:( zhora2001 @ 06-08-2015 05:51 Смотреть сообщение )
Что нужно сделать, чтобы при изменение статуса заказа, так же отправлялась смс.

Откройте файл /classes/order/OrderHistory.php и добавьте необходимый код после:
Код:
Hook::exec('actionOrderStatusPostUpdate', array('newOrderStatus' => $new_os,'id_order' => (int)$order->id,), null, false, true, false, $order->id_shop);
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
zhora2001
Новичок
Сообщений: 33
Откуда: Черновцы
Регистрация: 04-07-2015


06-08-2015 12:19
Цитата:( Алекс @ 06-08-2015 07:26 Смотреть сообщение )
Цитата:( zhora2001 @ 06-08-2015 05:51 Смотреть сообщение )
Что нужно сделать, чтобы при изменение статуса заказа, так же отправлялась смс.
Откройте файл /classes/order/OrderHistory.php и добавьте необходимый код после:
Код:
Hook::exec('actionOrderStatusPostUpdate', array('newOrderStatus' => $new_os,'id_order' => (int)$order->id,), null, false, true, false, $order->id_shop);
Опять же нужен моб.тел клиента - как понимаю $customer.
Есть соблазн влезть в функцию sendEmail и там ручками поправить запрос и оттуда же и отправлять смс.


Сообщение отредактировано zhora2001 06-08-2015 13:20 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
zhora2001
Новичок
Сообщений: 33
Откуда: Черновцы
Регистрация: 04-07-2015


06-08-2015 16:46
Алекс, хочу услышать Ваше мнение.

Сделал так - в Customer.php дописал такую функцию:

public static function getPhoneById($id_customer)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT `phone_mobile`
FROM `'._DB_PREFIX_.'address`
WHERE `id_customer` = '.(int)$id_customer.'
AND `deleted` = 0'
);
}
которую и использую в OrderHistory.php, чтобы получить номер мобильного.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


06-08-2015 16:52
Цитата:( zhora2001 @ 06-08-2015 13:19 Смотреть сообщение )
нужен моб.тел клиента - как понимаю $customer.


Код:
$order = new Order((int)$order->id);
$invoice = new Address($order->id_address_invoice);


Код:
телефон: ($invoice->phone ? $invoice->phone : $invoice->phone_mobile)
№ заказа: $order->id
статус: $new_os->name

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
zhora2001
Новичок
Сообщений: 33
Откуда: Черновцы
Регистрация: 04-07-2015


06-08-2015 20:31
Спасибо.
Алекс, помогите чайнику разобраться "где собака порылась" ;).
Есть объявленый класс, напр., CustomerCore, почему используется Customer или Address ( AddressCore).
Пробовал создать два объекта
$customer2 = new Customer((int)$order->id_customer);
$customer1 = new CustomerCore((int)$order->id_customer);
file_put_contents('c2.log',serialize($customer2));
file_put_contents('c1.log',serialize($customer1));
Оба файла за исключением 'core' одинаковы.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


07-08-2015 01:56
Цитата:( zhora2001 @ 06-08-2015 21:31 Смотреть сообщение )
Алекс, помогите чайнику разобраться "где собака порылась" ;).

Ошибки нет, оба способа верны.
CustomerCore будет обращаться к ядру без обработки методов подключенных через переопределения.

Используйте подобную конструкцию:
Код:
$customer = new Customer((int)$order->id_customer);
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
zhora2001
Новичок
Сообщений: 33
Откуда: Черновцы
Регистрация: 04-07-2015


07-08-2015 03:15
Спасибо.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 < 1 2