如何使用事件观察者模型在事件sales_order_place_after获取订单号?

Pra*_*rat 1 php mysql events magento

如何使用事件观察者模型在事件sales_order_place_after获取订单号?我希望在客户下订单后立即获得订单号.PLZ为我提供相同的示例代码?我想通过那个命令没有.到另一个外部php文件并在Observer.php中包含该php文件?我怎样才能做到这一点?

Plz帮帮我......

嗨,我试图在Magento中包含外部php文件,但我无法做到这一点.任何人都可以告诉我我做错了什么 -
Observer.php-:

<?php

 include("connection/Final/Function1.php");     
class Sample_Event_Model_Observer {

    public function Mytestmethod($observer) {

        $event = $observer->getEvent();  //Fetches the current event
        $eventmsg = "Current Event Triggered : <I>" . $event->getName() . "</I>";
        echo Mage::getSingleton('checkout/session')->addSuccess($eventmsg);

    $Id = $observer->getEvent()->getOrder()->getId();   
    $incrementid = $observer->getEvent()->getOrder()->getIncrementId();

    $ordermsg1 = "Current order Id : <I>" . $Id . "</I>";
        echo Mage::getSingleton('checkout/session')->addSuccess($ordermsg1);
    $ordermsg2 = "Current increment Id : <I>" . $incrementid . "</I>";
        echo Mage::getSingleton('checkout/session')->addSuccess($ordermsg2);

    $p = new testDatabase(); 
        $p -> setId($incrementid);
        $p -> dbConnect();
      }
}
?>  
Run Code Online (Sandbox Code Playgroud)

Function1.php-:

<?php 
class testDatabase 
{ 
    public function setId($getId)
    {
        $incrementid=$getId;
        echo $incrementid;
    }

    public function dbConnect()
     {  
            $db_name = "magento";
                $con = mysql_connect("localhost", "magento", "password");

        If (!$con)
        {
            die('Could not connect: ' . mysql_error());
        }
            $seldb = mysql_select_db($db_name, $con);
        If ($seldb) 
        {
            echo "Database Found ";
            $query = "INSERT INTO sample(id) VALUES($incrementid)" ;
            $result = mysql_query($query);
            print "id is added to the database"; 
            mysql_close($seldb);
        }
        else 
        {
            echo "Database NOT Found ";
        } 
     }
}
Run Code Online (Sandbox Code Playgroud)

如何在Function1.php中访问变量$ incrementid?所以问题是我无法访问$ incrementid,因为它无法插入我的示例表中.我抓住了sales_order_place_after事件.所以,一旦客户按PLACE ORDER,我可以包含Function1.php&它将获取增量/订单ID并且我能够访问其中需要工作的功能...... Plaese帮助我......

Ant*_*n S 6

你可以从活动中得到这个

$observer->getEvent()->getOrder()->getId() 

$observer->getEvent()->getOrder()->getIncrementId() 
Run Code Online (Sandbox Code Playgroud)

包含外部文件的重点是什么:)你可以加载任何模型

Mage::getModel('your/extension_model')

或者如果你正在做意大利面,就像你的问题表明那么使用require('path/to/file')并记住这是一个很大的诺托.