Я использую модель наблюдателя событий Magento на событии sales_order_place_after .Из этого я ловлю номер заказа. Тогда теперь я хочу передать этот заказ нет.который хранится в переменной другого внешнего php-файла, скажем external.php .Этот external.php содержит соединение с базой данных Magento, которая извлекает данные на основе Номер заказа , поэтому я хочу передать этот номер заказа этому запросу, а также мне нужно включить этот файл external.php в этот Observer.php, поэтому моя конечная цель состоит в том, чтобы после того, как клиент нажал вкладку Разместить заказ , файл external.php должен быть выполнен, так как он получит номер заказа, и он запустит запрос к базе данных и выполнит необходимую работу.
Так что, плз, помогите мне передать переменную с одной страницы на другой external.php, а также как включить / выполнить этот файл external.php в событии заказа места клиента (sales_order_place_after) ..
My Observer.php-:
<?php
include("connection/Final/external.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();
} } ?>
Мой external.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 ";
}
} }
Как получить доступ к переменной $ incrementid в Function1.php?Таким образом, проблема в том, что я не могу получить доступ к $ incrementid, так как он не может быть вставлен в мою таблицу образцов.Я поймал событие sales_order_place_after.Так что, как только клиент нажмет PLACE ORDER, я могу включить Function1.php, и он получит инкремент / идентификатор заказа, и я смогу получить доступ к функциям, которые будут выполнять необходимую работу ...
Мои обновленные файлы-:http://www.sample.com/magento/app/code/local/Sample/Event/Model/Observer.php Observer.php
<?php
class Sample_Event_Model_Observer {
public function Mytestmethod($observer) {
$Id = $observer->getEvent()->getOrder()->getId();
$incrementid = $observer->getEvent()->getOrder()->getIncrementId();
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, "http://www.sample.com/magento/connection/Final/external.php?order_id=<?php echo $incrementid ?>");
curl_setopt($cURL, CURLOPT_HEADER, 0);
curl_exec($cURL);
curl_close($cURL);
}
}
?>
Path-: http://www.sample.com/magento/connection/Final/external.php
external.php
<?php
echo "Hi";
$orderID = $_GET['incrementid'];
echo $orderID;
?>
Мне нужно использовать это значение переменной $ orderID в функции ниже?Как сделать то же самое?Помоги мне Plaese ...