Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Drupal 6, Ubercart, СМС уведомления

Drupal 6, Ubercart, СМС уведомления
, by

Всем привет, уважаемые разработчики и программисты!
Являюсь одним из разработчиков команды "SMSC Access" по отправке смс-сообщений и рассылок.

Встал такой вопрос, есть установленная 6 версия Drupal, на котором имеется так же уже установленная Ubercart версии 2.17.

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

В модуле на текущий момент реализована авторизация, тестирование сервиса (тестовые сообщения) и создание шаблонов текста (таблица smsc_templs).

С Drupal никто из нашей команды не работал ранее, отсюда вопрос: каким образом сделать так, чтобы при изменении статуса заказа через Ubercart был вызов функции отправки смс на номер, указанный в поле "phone" на страничке заказа (в корзине).

При этом редактировать модуль Ubercart возможности нет. SMSFramework так же использовать запрещено.

При изучении Drupal столкнулся с понятием "хук", однако не разобрался, как их правильно использовать. Вопрос ко всем знающим.
Кто сможет помочь и кому потребуется модуль отправки СМС-Сообщений, могу потом подсобить.

На выходе должен получиться модуль, который просто устанавливаешь в Drupal 6, авторизуешься, создаешь шаблон на каждый статус, после чего при изменении статуса Ubercart дергает наш модуль и он шлет сообщение об изменении статуса заказа.

1 answer
votes: 1285
Answer

Обычно SMS framework я использовал для подобных вещей. Можно просто написать кастомный action для отправки смс через php код.

https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_action_info/7
http://precessionmedia.com/blog/how-create-custom-rules-action

Action можно навесить через модуль Rules на нужное событие (например оформление заказа). 

Но нужно будет добавить форму настроек с помощью system_settings_form(), что логин, пароль, сервер хранить в базе и использовать потом в коде.

Все это делает как раз SMS Framework.