You are hereБлоги / Ёж's blog / Ubercart. Создание электронного магазина, часть 5 - Модуль Workflow-NG
Ubercart. Создание электронного магазина, часть 5 - Модуль Workflow-NG
Итак, Вы научились добавлять товары, но как дальше работать с заказами?
Есть такой замечательный модуль Workflow-NG, с его помощью можно автоматизировать обработку заказов и работу с покупателями. У этого модуля много настроек, так что не так легко будет сразу во всём этом разобраться. Давайте в данной статье я просто остановлюсь на работе самого этого модуля, попробую с ним поиграться, а потом уже буду думать о том, как мне интегрировать систему непосредственно в применении к Уберкарту.
Итак, модуль Workflow-NG. Как следует из самого названия с его помощью можно организовать работу с некими рабочими процессами (workflows). Что пишут о возможностях модуля в официальной документации? Итак, с помощью этого модуля Вы можете: организовать уведомления посетителей Вашего сайта о каких-либо важных изменениях или дополнениях, появляющихся на Вашем сайте; организовывать гибкую систему процесса отображения материалов; организовывать специальные редиректы (перенаправления) и многое другое. Отлично. Но я хочу для начала попробовать сделать с помощью этого модуля хоть что-нибудь конкретное.
Итак, захожу в Управление сайтом > Конструкция > Workflow-ng (admin/build/workflow-ng). По умолчанию там уже есть несколько созданных настроек, но я конечно же хочу добавить свою собственную, поэтому жмякаю на ссылке Add a new configuration (Создать новую настройку). Вижу два обязательных к заполнению поля - Event (Событие) и Label (Метка). Как нетрудно догадаться, Event это и есть то самое событие, в ответ на которое я смогу организовать какое-либо ответное действие. Например, я хочу, чтобы пользователь немедленно получал уведомление о появившейся записи в блоге, или о добавлении новой новости и так далее (я сейчас умышленно не касаюсь Уберкарта). Выбираю в поле Event в выпадающем списке какое-либо событие - выбрал Content has been created (Новый материал был создан). В поле Label нужно написать какое либо название для создаваемой настройки. После этого поля идёт метка, в которой по умолчанию установлен флажок. Не убирайте этот флажок, если Вы хотите, чтобы Ваша настройка была активной (если флажок не будет установлен, настройка будет неактивной, и в ответ на событие не будет выполняться никакого действия).
Итак, сохраняю изменения. Далее ещё две настройки - Conditions (Состояния) и Actions (Действия). Как нетрудно догадаться, Actions - это и есть те самые действия, которые я буду выполнять в ответ на какое либо событие. Но сначала нужно дойти до соответствующей кондиции, поэтому кликаю на Add a condition (Добавить состояние). В выпадающем окошке можно выбрать что угодно на вкус, но я выбираю Content has type (то есть фильтрую появление какого либо контента по его типу), кликаю Add (Добавить), ниже выбираю например Запись в блоге. После этого сохраняю изменения.
Теперь перехожу к Actions. Точно так же добавляю какое-либо действие, выбираю какое именно действие мне нужно, я выбрал Send a mail to an arbitrary mail address (Доставка сообщения на мыло случайного пользователя), но Вы можете экспериментировать с какими угодно другими действиями. Я для проверки ввёл свой собственный адрес почты. Ниже Вы можете написать текст сообщения, которое будет приходить на почту Вашей "жертвы".
Всё. Сохраняю изменения. Теперь я могу увидеть свою настройку в списке других настроек Workflow-ng. Проверяю работу нашего модуля. Создаю любую запись в блоге, жму "Отправить". Заранее приготовившись к неудаче, проверяю свой почтовый ящик. Но нет!! Надо же - на почту пришло письмо, уведомляющее о том, что на сайте появилась новая запись в блоге!
Модуль работает!
Продолжение следует...
С уважением, Ёж


