Итак пробую написать модуль EMS.
Благодаря Алексею опять начал капаться в коде.
1) Создаю Способ доставки:
2) Создаем файл shipping/ems.php
насколько понял принцип, перед оформлением заказа, обрабатывается файл ems.php, следовательно нам нужно в него передать все требуемые данные для расчета доставки.
Теперь код в ems.php:
PHP код:
<?php
$dostavka = //код 1 : получение города или области доставки ;
$weight = //код 2 : получение weight_total заказа (общего веса);
$from = "city--volgograd"; // В моем случае всегда будет отправляться из этого города, константа!
$Curl = curl_init();
$CurlOptions = array(
CURLOPT_URL=>"http://emspost.ru/api/rest?callback=jsonp1236078926969&method=" . $module_params["method"]."&from=".$from."&to=".$dostavka."&weight=".$weight,
CURLOPT_FOLLOWLOCATION=>false,
CURLOPT_POST=>false,
CURLOPT_HEADER=>false,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_CONNECTTIMEOUT=>15,
CURLOPT_TIMEOUT=>100
);
curl_setopt_array($Curl, $CurlOptions);
if (false === ($Result=curl_exec($Curl)))
{
echo("Ошибка.");
return;
}
curl_close($Curl);
echo($Result."<br>");
// Вырезаем то, что внутри круглых скобок
if (preg_match("/.+\((.+)\)/", $Result, $matches))
{
$json_str = $matches[1];
$json_array = json_decode($json_str, true);
// echo($json_str."<br>");
// echo($json_array["rsp"]["stat"]."<br>");
// echo($json_array["rsp"]["price"]."<br>");
// echo($json_array["rsp"]["term"]["min"]."<br>");
// echo($json_array["rsp"]["term"]["max"]."<br>");
код 3 : возвращаем данные о стоимости в оформление заказа
}
else
echo("Неверный ответ сервера EMS.");
?>
Социальные закладки