codegolic
@codegolic

Как отправить смс (или вообще как выполнить любой php код) во время отправки формы на modx?

До недавнего времени отправлял смс с данными заполненной формы и записывал эти же данные формы в google таблицу просто через
внешний обработчик формы написанный на php :) в котором это решалось просто, было 2 кода после успешной отправки формы)

это призыв к API sms.ru
<?php
$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"		=>	"9999999999999",
	"to"			=>	"8888888888888",
	"text"		=>	$name  ." ". $phone

));
$body = curl_exec($ch);
curl_close($ch);


Это кидало данные в таблицу google
$nik =$getdata['name']['value'];
$tell=$getdata['tell']['value'];
$mile=$getdata['e-mail']['value'];
$text=$getdata['text']['value'];
$chek=$getdata['checkbox']['value']." ". $getdata['radio']['value']." " . $getdata['select']['value'];
$utm=$getdata['utm-name']['value'];

// формируем запись в нашу таблицу google
$url = "99999999999999999999999999999999999999999999999999999999";
$_POST['fio'] = $nik;
$_POST['tell']=$tell;
$_POST['chek']=$chek;
$_POST['e-mail']=$mile;
$_POST['text']=$text; 
$_POST['utm-name']=$utm;

$draftResponse = ",,4503709590584940035";

$pageHistory = "0";
$fbzx = "3880320875455510089";


$post_data = array (
"entry.404904442" => $_POST['fio'],
"entry.2144695223" => $_POST['tell'],
"entry.481061397" =>$_POST['chek'],
"entry.568776889" =>$_POST['e-mail'],
"entry.516856755" =>$_POST['text'],
"entry.592606563"=>$_POST['utm-name'],
"draftResponse" => "[,,4503709590584940035;]",

"pageHistory" => "0",
"fbzx" => "4503709590584940035"
);
// заносим данные в сам google
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// указываем, что у нас POST запрос
curl_setopt($ch, CURLOPT_POST, 1);
// добавляем переменные
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//заполняем таблицу google
$output = curl_exec($ch);
 
curl_close($ch);
//


Захотел поубирать костыли )
Установил formit , ajaxform
В принципе форма работает, сделал её в модальном окне, понял, что использует хуки для отправки почты и сохранят данные формы в базе.
Вообщем как сделать выполнение этих двух скриптов я так и не допёр) Подскажите, с модх не совсем хорошо знаком
  • Вопрос задан
  • 545 просмотров
Пригласить эксперта
Ответы на вопрос 1
вероятно, создать два сниппета (1-для смс, 2-для google) и вызвать formit с параметром &hooks=`1,2`
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы