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帮助我......
你可以从活动中得到这个
$observer->getEvent()->getOrder()->getId()
$observer->getEvent()->getOrder()->getIncrementId()
Run Code Online (Sandbox Code Playgroud)
包含外部文件的重点是什么:)你可以加载任何模型
Mage::getModel('your/extension_model')
或者如果你正在做意大利面,就像你的问题表明那么使用require('path/to/file')并记住这是一个很大的诺托.
| 归档时间: |
|
| 查看次数: |
6170 次 |
| 最近记录: |