В продолжение предыдущего поста напишу как организовать отправку уведомлений с сайта на CMS Modx. Создадим чанк, сниппет, подключим на страницу.
Создаем чанк для формы обратной связи modx
Заходим в админку Modx, создаем новый чанк. Я использую MODX Revolution 2.5.7-pl.
Копируем код формы обратной связи:
1 2 3 4 5 6 7 8 | <h4>Контактная форма</h4> <form action="" method="POST"> Введите Ваше имя: <br><input type="text" placeholder="Ваше имя" name="call_user"><br><br> Контакт для обратной связи <br>(<i>это может быть эмейл или телеграм-аккаунт</i>): <br><input type="text" placeholder="*Email или телеграм" name="us_contact" required><br><br> Сообщение: <br><textarea name="mymes" cols="40" rows="10" placeholder="*Напишите здесь текст" required></textarea><br> <button class="btn-fill-primary plr-30" type="submit">Отправить</button> </form> <br>* - обязательные поля. |
Создать сниппет в modx
Дальше создаем сниппет для обработчика предыдущей формы обратной связи:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $userId = '264123846'; // id user $token = '101342349:AAE78dsdHjsD7xcSJHN343LW-IG8'; // Token бота $user_name = ' ('.$_POST["call_user"].')'; $user_contact = $_POST["us_contact"]; $user_text = $_POST["mymes"]; if (!empty($user_contact) and !empty($user_text)) { $msg = '*Заявка с bdseo.ru* '; $msg .= $user_contact.$user_name; $msg .= ' пишет: '.$user_text; file_get_contents('https://api.telegram.org/bot'. $token .'/sendMessage?chat_id='. $userId .'&text=' . urlencode($msg) . '&parse_mode=markdown'); echo "<strong>Спасибо, мы получили Ваше сообщение.</strong><hr>"; } |
Страница для формы и обработчика modx
У меня форма и обработчик на одной странице — Контакты. Поэтому action=»», чанк и сниппет на одной странице.
1 2 3 4 5 6 7 8 9 | <p>[[!contact_send_tg? ]]</p> <p>Контакты автора bdseo.ru</p> <p>Емейл: <a href="mailto:admin@bdseo.ru">admin@bdseo.ru</a> <br /> Скайп: prolisk <br /> Вконтакте: <a href="http://vk.com/" target="_blank">Страница Вконтакте</a> <br /> Twitter: <a href="https://twitter.com/">Bdseoru</a></p> <p> </p> <p>[[$contact_form_tg? ]]</p> |
Чанк (форму) можно кешировать; сниппет (обработчик) не надо.
Теперь после отправки формы (когда будут POST данные ), вверху выведется текст из сниппета. Например:
Если появились вопросы, не стесняйтесь — комментируйте. Может и на комменты wordpress повесить уведомления в телеграм?..
Помогите плиз. Получилось настроить отправку данных с формы, но не отправляются изображения которые загружают посетители сайта через форму заявки. Изображения не приходят в телеграм. Делал ли кто-нибудь отправку изображений в Телеграм на сайте на MODx?
Нужно прикреплять как файл.
Могу сделать платно, или когда появится настроение напишу статью. :-)