[Помогите] SMS-нотификация

Тема в разделе "OpenCart", создана пользователем alexsofdev, 30 янв 2013.

  1. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    Требуется реализовать sms нотификацию по факту каких-то изменений в заказе - заказ принят, заказ ожидает оплаты, заказ отправлен и т.д. Поиск по opencart.com дал какую-то фигню. В самом опенкарте есть конечно поддержка шлюза нотификации, но просто шлюз и и система управления рассылкой с поддержкой шаблонов - это разные вещи.

    Вобщем приветствуются ссылки на готовые решения или идеи по реализации.
     
  2. ashtray

    ashtray Главный по попкам!

    Регистрация:
    13 ноя 2012
    Сообщения:
    335
    Симпатии:
    72
  3. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    Это ведь просто шлюз, не? Шлюз это отдельный вопрос, меня пока больше интересует манагер смс-оповещений, который строится НАД этим шлюзом и реагирует на смену статуса заказа.
     
  4. ashtray

    ashtray Главный по попкам!

    Регистрация:
    13 ноя 2012
    Сообщения:
    335
    Симпатии:
    72
    я так понимаю там не просто шлюз, он отправляет сообщенгия о статусе заказа клиенту.
    почитай там тему поддержки
     
  5. Rusik

    Rusik

    Регистрация:
    21 янв 2013
    Сообщения:
    166
    Симпатии:
    52
    alexsofdev нравится это.
  6. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    А вот это уже смахивает на правду:


     
  7. Rusik

    Rusik

    Регистрация:
    21 янв 2013
    Сообщения:
    166
    Симпатии:
    52
    Да, я тестил работает. Но только с стандартными регистрациями.. с симплой не завелся. Нужно допиливать.
    --- добавлено: 29 янв 2013 в 21:31 ---
    АП.
    Там похоже совместно с автором симплы нашли решение:

    Заменить участка кода в файле system/library/ocu_turbo_sms/gateway.php с этого:
    Код:
    public function send($number, $message)
    {
    return $this->_connection->exec("INSERT INTO $this->_table ".
    "(number, sign, message, send_time, wappush) ".
    "VALUES ('$number', '$this->_sign', '$message', NOW(), '$this->_wap')");
    
    }
    
    на этот:
    
    public function send($number, $message)
    {
    return $this->_connection->exec("INSERT INTO $this->_table ".
    "(number, sign, message, send_time) ".
    "VALUES ('$number', '$this->_sign', '$message', NOW())");
    
    }
    Какие-то сообщения приходят, но похоже админиские.
     
  8. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    А какое отношение имеет симпла, если статус заказа меняется исключительно через админку?
    --- добавлено: 29 янв 2013 в 21:33 ---
    ага, вот оно что. Сомнительно что дело именно в симпле, скорее просто какая-то версия опенкарта содержит меньше полей в таблице
     
  9. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    Хех, писали этот turbosms какие-то детишки. Вот к примеру берем код подключения к базе:

    Код:
    		// Connect to remote gateway
    		try {
    			$this->_connection = new PDO("mysql:host=$host;dbname=$db;charset=UTF8", $login, $password);
    			$this->_table = $login;
     
    		} catch (PDOException $e) {
    			$this->_error = $e->getMessage();
    		}
     
    		// Set transfer encoding
    		$this->_connection->query("SET NAMES utf8");
    
    Вот у меня логин\пароль\сервер не соответствовали реальности. Ожидается что модуль мне скажет что-то более-менее внятное по этому поводу. Но чтобы это произошло, внутри блока catch должен быть return или throw.

    И вот вместо адекватного сообщения о проблеме мы вначале увидим белое окно ( если админ настроил сайт правильно ) и будем биться в истерике ( если нет опыта отлова пыховских ошибок ). А в это время в логах нас будет поджидать вполне ожидаемое сообщение об ошибке:

    Код:
    PHP Fatal error:  Call to a member function query() on a non-object in /var/www/****/system/library/ocu_turbo_sms/gateway.php on line 52, referer: http://*****/admin/index.php?route=module/ocu_turbo_sms&token=****
    
    Прямо интересно как эта поделка будет работать и есть ли другие вообще.
     
  10. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    В общем сам по себе турбосмс заработал. Смс-ки уходят, но топорные. Осталось прикрутить к отсылке непосредственно шаблонизатор и его привязку к статусам ... Нет у кого готового модуля, в стиле order status template?