Kasha Posted April 20, 2013 Report Share Posted April 20, 2013 Предлагаю вашему вниманию бесплатный модуль SMS оповещения от провайдера sms.ru (ссылка реферальная, за переход буду благодарен) Для установки вам понадобиться: Шаг 1 Создать файл smssend.php в папке api cледующего содержания: <?php require_once('Simpla.php'); class smssend extends Simpla { public function send($phone,$sms) { $ch = curl_init("http://sms.ru/sms/send"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, array( "api_id" => "вводим сюда свой секретный код", "to" => $phone, "partner_id" => "6583", "text" => $sms )); $body = curl_exec($ch); curl_close($ch); return false; } } Не забываем заменить "api_id" => "вводим сюда свой секретный код", на строку со страницы смс.ру, ковычки оставляем, например: "api_id" => "55553331b-4cdd-de24-b54b-a71e5555555", Если после отправки смс к вам приходит неразбериха меняем строку "text" => $sms на "text" => iconv("windows-1251","utf-8",$sms) Шаг 2 В файле api/simpla.php вписываем строку 'smssend' => 'smssend' Примерно это выглядит так class Simpla { private $classes = array( 'config' => 'Config', 'request' => 'Request', 'db' => 'Database', ... 'notify' => 'Notify', 'managers' => 'Managers', 'smssend' => 'smssend' ); Не забываем про запятые. В самом конце её нет как видите. Шаг 3 Теперь мы можем в любом месте отправить смс-ку выполнив команду $this->smssend->send(телефон,'сообщение'); Например для уведомления администратора о поступлении нового заказа мы в файле View/CartView.php добавляем следующий код // Отправка смс уведомления пользователю если он этого запросил $this->smssend->send($order->phone, 'Ваш заказ №'.$order->id.' принят. На сумму '.$order->total_price.' руб. Спасибо за покупку!'); // Отправка смс уведомления администратору о поступившем заказе $this->smssend->send('+79150000000', 'На сайт поступил заказ №'.$order->id.' на сумму '.$order->total_price.' руб.'); Если вы хотите сделать уведомление клиенту о изменении статуса заказа вам в файлsimpla/orderadmin.php Примеры всех вышеуказанных файлов есть в аттаче, смотрите, разбирайтесь, пользуйтесь. Просто скопировать файлы нельзя - работать не будет. Если будут вопросы - пишите в тему или в личку. Кому пригодилось - ставим лайки, говорим спасибо Smssend.phpCartView.phpOrderAdmin.php Quote Link to post Share on other sites
nwnet Posted April 21, 2013 Report Share Posted April 21, 2013 Супер! Подскажите, а как реализовать, чтобы SMS отправлялся из админки со страницы заказа при нажатии на кнопку? Quote Link to post Share on other sites
Noxter Posted April 21, 2013 Report Share Posted April 21, 2013 Sheeft ты красавчек Quote Link to post Share on other sites
Kasha Posted April 21, 2013 Author Report Share Posted April 21, 2013 Супер! Подскажите, а как реализовать, чтобы SMS отправлялся из админки со страницы заказа при нажатии на кнопку? Текст SMS сообщения какой? Или поле для ввода? Нужно обработчик в файл OrderAdmin.php вносить на POST запрос и добавить форму Quote Link to post Share on other sites
daramal Posted April 23, 2013 Report Share Posted April 23, 2013 а другие сервисы возможно прикрутить по этой схеме? Quote Link to post Share on other sites
Kasha Posted April 23, 2013 Author Report Share Posted April 23, 2013 Другие сервисы прикручиваються подобным образом, только с другим API, чаще всего за денюжку Quote Link to post Share on other sites
Proxy Posted April 23, 2013 Report Share Posted April 23, 2013 Здравствуйте, а не подскажите, что значит: // Отправка смс уведомления пользователю если он этого запросил ? В каком случае считается, что пользователь запросил уведомление?Заранее спасибо! Quote Link to post Share on other sites
daramal Posted April 23, 2013 Report Share Posted April 23, 2013 сделал, как описано, но не приходит уведомление.. но если пишу в коде: "text" => iconv("windows-1251","utf-8","Привет!") то сам текст "Привет" приходит после заказа на сайте.не подскажите в чем тут загвоздка? Quote Link to post Share on other sites
Kasha Posted April 24, 2013 Author Report Share Posted April 24, 2013 Здравствуйте, а не подскажите, что значит: // Отправка смс уведомления пользователю если он этого запросил ? В каком случае считается, что пользователь запросил уведомление?Заранее спасибо! В примере файлов которые прикреплены есть условие "notice_user_sms" которое передаёться из шаблона по галочке, можно поиграться и на правильность набора номера, и прочие условия Quote Link to post Share on other sites
daramal Posted April 24, 2013 Report Share Posted April 24, 2013 наконец нашел ))) прикрепил.Sheeft, посмотри пожалуйста.Smssend.phpCartView.php Quote Link to post Share on other sites
Kasha Posted April 24, 2013 Author Report Share Posted April 24, 2013 наконец нашел ))) прикрепил.Sheeft, посмотри пожалуйста.формат телефона + код страны код города номер телефона+79011111111у вас992936008855приведите в международный вид и попробуйте ещё раз Quote Link to post Share on other sites
daramal Posted April 24, 2013 Report Share Posted April 24, 2013 я пробовал и с + , т.е. +992936008855, но ничего не идет. а вот когда ставлю: "text" => iconv("windows-1251","utf-8","Привет!") то приходит сам текст "Привет". А если редактирую текст, то уже не идет. Quote Link to post Share on other sites
SeregaDa Posted April 26, 2013 Report Share Posted April 26, 2013 Ничего ли не упустил? Чтобы добавить чекбокс в корзину, активизирующий функцию отправки оповещений об обновлении статуса заказа по смс, необходимо внести изменения в: 1. Шаблон корзины (добавить чекбокс)2. Шаблон страницы заказа в админке (добавить чекбокс)2. api/oders.php3. CartView.php4. OderAdmin.php5. БД (добавить поле булевского типа в таблицу s_orders) Quote Link to post Share on other sites
Brigadir Posted April 26, 2013 Report Share Posted April 26, 2013 Какой порт использует? Quote Link to post Share on other sites
atpcom Posted April 27, 2013 Report Share Posted April 27, 2013 Спасибо большое! Все работает! Quote Link to post Share on other sites
influence Posted May 7, 2013 Report Share Posted May 7, 2013 HOT HOT HOT!! Спасибо Sheeft один момент, при изменении статуса заказа, смска клиенту не приходит.сам не разобрался, есть идеи? Quote Link to post Share on other sites
influence Posted May 7, 2013 Report Share Posted May 7, 2013 И с этой галкой и без нее не приходит смс Уведомить покупателя о состоянии заказа Судя по архиву сообщений sms.ru то сообщения Ваш заказ №'.$order->id.' обработан, ожидается поступление товара на склад. Вам придет оповещение.' даже на сервер смсру не упало.. Quote Link to post Share on other sites
Kasha Posted May 7, 2013 Author Report Share Posted May 7, 2013 HOT HOT HOT!! Спасибо Sheeft один момент, при изменении статуса заказа, смска клиенту не приходит.сам не разобрался, есть идеи? Если вы хотите сделать уведомление клиенту о изменении статуса заказа вам в файлsimpla/orderadmin.php смотрите пример в прикрепленном файле (там есть условие для галочки принцип работы которой тут не описан, можете убрать это условие) Quote Link to post Share on other sites
Kasha Posted May 7, 2013 Author Report Share Posted May 7, 2013 И с этой галкой и без нее не приходит смс Судя по архиву сообщений sms.ru то сообщения Ваш заказ №'.$order->id.' обработан, ожидается поступление товара на склад. Вам придет оповещение.' даже на сервер смсру не упало..Прикрепляйте файлы, посмотрим где косяк (файл шаблона из админки, файл ордерадмин) Quote Link to post Share on other sites
influence Posted May 8, 2013 Report Share Posted May 8, 2013 что за файл шаблона из админки я не совсем понял, этих достаточно?OrderAdmin.phpTemplatesAdmin.phpThemeAdmin.php Quote Link to post Share on other sites
Lia Posted May 11, 2013 Report Share Posted May 11, 2013 Все получилось, спасибо огромное Quote Link to post Share on other sites
vda Posted May 14, 2013 Report Share Posted May 14, 2013 А у меня приходит смс с пустым номером и суммой заказа. Кто знает почему? Quote Link to post Share on other sites
FastHeel Posted May 14, 2013 Report Share Posted May 14, 2013 Спасибо, все поставил с первого раза, работает) Quote Link to post Share on other sites
Кирилл Posted May 18, 2013 Report Share Posted May 18, 2013 У вас еще один благодарный реф на смс.руЕсли будет работать спс. Quote Link to post Share on other sites
Matteus Posted June 21, 2013 Report Share Posted June 21, 2013 Подключил, смс администратору приходит. Но перестал направлять на страницу заказа /ordrerНи каких изменений кроме предложенных не вносилЧто это может быть? Происходит сразу после действия отправки сообщения администратору. убираю эту строку с кодом отправки - и все нормально.Хотя сообщение отправляется нормально.. Warning: Cannot modify header information - headers already sent by (output started at /home/u17214/simpla.iloveprinter.ru/www/api/smssend.php:1) in /home/u17214/simpla.iloveprinter.ru/www/view/CartView.php on line 127Warning: Cannot modify header information - headers already sent by (output started at /home/u17214/simpla.iloveprinter.ru/www/api/smssend.php:1) in /home/u17214/simpla.iloveprinter.ru/www/index.php on line 33 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.