[Simpla CMS] - Модуль SMS-оповещения клиентов и администратора

navigator

Member
Joined
Nov 20, 2007
Messages
924
Reaction score
245
[Simpla CMS] - Модуль SMS-оповещения клиентов и администратора

Link removed

Модуль "SMS-оповещение" для Simpla позволяет информировать по SMS администратора сайта о поступившем заказе, клиента об изменении статуса заказа.

Возможности модуля:

отправка уведомления о заказе администратору
отправка уведомления о заказе клиенту
отправка уведомления об изменении заказа клиенту (по "галочке")
отправка сообщения клиенту по номеру
отправка сообщений клиентам из базы (рассылка)
отправка уведомления о новом комментарии администратору
журнал отправленных сообщений

[HIDE=15]https://mega.co.nz/#!0RoD2biJ!YfbR48zYgBL1kzZwAxusoSBSY_ogBxH_R3q0SJ3VL4k[/HIDE]

[HIDE=15]

1) SQL-запрос
Добавляем поля для хранения значений настроек SMS-оповещения в таблицу s_settings
Код:
INSERT INTO `s_settings` (`setting_id`, `name`, `value`) VALUES
(NULL, 'notify_sms_login', ''),
(NULL, 'notify_sms_password', ''),
(NULL, 'notify_sms_author', ''),
(NULL, 'notify_sms_phones', ''),
(NULL, 'notify_sms_orders', '1'),
(NULL, 'notify_sms_comments', '1');
2) Новые файлы
Заливаем модуль отправки SMS-оповещения в корень сайта по ФТП
api/Sms.php - класс для работы с SMS-сообщениями
simpla/SmsAdmin.php - админ-модуль для рассылки SMS-сообщений
simpla/design/html/sms.tpl - шаблон для рассылки SMS-сообщений
3) Измененые файлы
simpla/design/html/order.tpl
После кода уведомления клиента добавим в заказ “галочку” уведомления по SMS, если в заказе присутствует номер телефона (~374 строка)
Код:
{if $order->phone}
<br class="clear"/>
<input type="checkbox" value="1" id="notify_sms" name="notify_sms">
<label for="notify_sms">Уведомить покупателя по SMS на номер {$order->phone|escape}</label>
{/if}
simpla/orderAdmin.php
В модуле отправки SMS есть встроенный корректор номера в международный формат, поэтому можно встроить корректирование в админку при редактировании заказа - меняем строку 17 на
Код:
$order->phone = $this->sms->correctPhone($this->request->post('phone'));
Далее в этом же файле сделаем обработчик отправки SMS, если стоит галочка при сохранении - после кода (~120 строка)
Код:
if($this->request->post('notify_user'))
$this->notify->email_order_user($order->id);
добавляем
Код:
if($this->request->post('notify_sms'))
$this->sms->send_order_user($order->id);
view/CartView.php
В клиентской части добавим обработчик уведомления о поступившем заказе.
Для начала проверим на корректность введенный номер телефона - заменим 50 строку
Код:
$order->phone = $this->request->post('phone');
на
Код:
$order->phone = $this->sms->correctPhone($this->request->post('phone'));
Далее после строки (~118)
Код:
$this->notify->email_order_admin($order->id);
добавим
Код:
// Отправляем SMS администратору
if($this->settings->notify_sms_orders) {
$this->sms->send_order_admin($order->id);
if(!empty($order->phone)) $this->sms->send_order_user($order->id);
}
view/ProductView.php,
view/BlogView.php
Для уведомления о поступившем комментарии необходима в эти файлах после кода
Код:
$this->notify->email_comment_admin($comment_id);
добавить код
Код:
if($this->settings->notify_sms_comments)
$this->sms->send_comment_admin($comment_id);
Практика показывает, что уведомлять об комментариях не стоит, если у Вас не стоит дополнительная защита от спама (например, только зарегистрированные пользователи могут отправлять сообщение), иначе это пустое расходование средств на SMS.
4) Настройки аккаунта EPochtaSMS
Не забываем включить доступ для API в настройках оператора:
зарегистрируйтесь на сайте http://www.epochtasms.com.ua, если Вы этого еще не сделали
войдите в аккаунт под Вашим логином
внизу левого меню выберите раздел Настройки
активируйте XML интерфейс, т.к. наш модуль работает именно через этот шлюз
вы можете включить тестовый режим для него на этапе проверки, тогда SMS будут только в панели, а на номер не будут уходить и следовательно не будут расходоваться средства баланса
в админке Вашего сайта укажите параметры доступа к данному шлюзу
EPochtaSMS поддерживает подписи к SMS, поэтому можете указать свою подпись рассылки (не более 11 латинских букв)
Выбранный шлюз API SMS: EPochtaSMS
[/HIDE]
 
Last edited by a moderator:
Top