Magento 1.9: проверить страницу не перенаправить на страницу успеха с событием sales_order_place_after

0

Я начинаю magento и пытаюсь разработать модуль для отправки сообщения при размещении любого заказа, с этим модулем я могу сгенерировать (отправить/получить) сообщение, но проверить страницу не перенаправлять на страницу успеха, а также использовать следующие события
sales_order_place_before, checkout_type_onepage_save_order & checkout_type_onepage_save_order_after
потому что моя тема использует одностраничную проверку, но результат такой же

etc/config.php

<?xml version="1.0"?>
<config>
    <modules>
        <Abc_Sms>
            <version>0.0.1</version>
        </Abc_Sms>
    </modules>
    <global>
        <models>
            <abc_sms>
                <class>Abc_Sms_Model</class>
            </abc_sms>
        </models>
         <events>
            <sales_order_place_after><!-- observe the event -->
                <observers>
                    <abc_sms>
                        <class>abc_sms/observer</class>
                        <method>newCheckout</method>
                    </abc_sms>
                </observers>
            </sales_order_place_after>
        </events>
    </global>
</config>

Модель /Oberver.php

<?php 
class Abc_Sms_Model_Observer {
    public function newCheckout($observer) {
$order_id = $observer->getEvent()->getOrder()->getId() ;
$order_no = $observer->getEvent()->getOrder()->getIncrementId() ;
$order = Mage::getModel("sales/order")->load($order_id);
$billing_address = $order->getBillingAddress(); 
$billing_telephone = $billing_address->getTelephone();
$msg = "Thank you for your purchase! Your order # is: ".$order_no;
//sms api start
$ch = curl_init();
$user="****@gmail.com:****";
$receipientno = $billing_telephone; 
$senderID="TEST SMS"; 
$msgtxt = $msg; 
curl_setopt($ch,CURLOPT_URL,  "http://api.mVaayoo.com/mvaayooapi/MessageCompose");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "user=$user&senderID=$senderID&receipientno=$receipientno&msgtxt=$msgtxt");
$buffer = curl_exec($ch);
if(empty ($buffer))
{ echo " buffer is empty "; }
else
{ echo $buffer; } 
curl_close($ch);
//sms api end

    }    
}
?>

Спасибо в Advance за помощь

  • 1
    Какую ошибку вы получаете?
  • 0
    @GirishSH я упоминаю, что вопрос смс генерирует, но страница проверки не перенаправляет на страницу успеха
Показать ещё 1 комментарий
Теги:
magento

3 ответа

1

Попробуй это:

Добавьте это как функцию newCheckout последнюю строку

return $this;
0

Вы можете сделать запрос, как показано ниже:

$client = new Varien_Http_Client('http://www.example.com/');
$client->setMethod(Varien_Http_Client::POST);
$client->setParameterPost('param1', $param1);
$client->setParameterPost('param2', $param2);
//more parameters
try{
    $response = $client->request();
    if ($response->isSuccessful()) {
        echo $response->getBody();
        return $this; // for redirection after save order event
    }
} catch (Exception $e) {
}

NB: Не забудьте реализовать return $this после успешного ответа.

Ссылка: qaru.site/questions/4260454/...

0

Попробуй это:

Нажмите F12 и откройте консоль с помощью пожарной ошибки, вы увидите свои результаты.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню