2017-02-03 5 views
0

Я новичок в Magento.Как только заказ сделан, как автоматически получить данные о заказе в Magento?

Я хочу получить информацию о заказе (order_id, идентификатор продукта, SKU, количество, цена, адрес доставки, способ доставки) от Magento.

Моя главная проблема в том, что я хотел хранить всю информацию в новой отдельной таблице, я разрабатываю для себя одно настраиваемое приложение PHP.

Я получил этот код, но я действительно не знаю, где я должен создать страницу и загрузить данные:

<?PHP 
$orderNumber = 145000013; 
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber); 
// get order item collection 
$orderItems = $order->getItemsCollection(); 
foreach ($orderItems as $item){ 
$product_id = $item->product_id; 
$product_sku = $item->sku; 
$product_name = $item->getName(); 
$_product = Mage::getModel('catalog/product')->load($product_id); 
$cats = $_product->getCategoryIds(); 
$category_id = $cats[0]; 
$category = Mage::getModel('catalog/category')->load($category_id); 
$category_name = $category->getName(); 
echo "orderNumber=".$orderNumber."<br/>"; 
echo "orderValue=".$orderValue."<br/>"; 
echo "product_name=".$product_name."<br/>"; 
echo "product_id=".$product_id."<br/>"; 
echo "product_sku=".$product_sku."<br/>"; 
echo "category_id=".$category_id."<br/>"; 
echo "category_name=".$category_name."<br/><br/>"; 
} 
?> 

Я получил этот код, но я действительно не знаю, где Я должен создать страницу и загрузить данные

<?PHP 
$orderNumber = 145000013; 
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber); 
// get order item collection 
$orderItems = $order->getItemsCollection(); 
foreach ($orderItems as $item){ 
$product_id = $item->product_id; 
$product_sku = $item->sku; 
$product_name = $item->getName(); 
$_product = Mage::getModel('catalog/product')->load($product_id); 
$cats = $_product->getCategoryIds(); 
$category_id = $cats[0]; 
$category = Mage::getModel('catalog/category')->load($category_id); 
$category_name = $category->getName(); 
echo "orderNumber=".$orderNumber."<br/>"; 
echo "orderValue=".$orderValue."<br/>"; 
echo "product_name=".$product_name."<br/>"; 
echo "product_id=".$product_id."<br/>"; 
echo "product_sku=".$product_sku."<br/>"; 
echo "category_id=".$category_id."<br/>"; 
echo "category_name=".$category_name."<br/><br/>"; 
} 
?> 
+0

Если это приложение, внешнее по отношению к Magento - вы можете использовать API – CD001

ответ

1

чтобы загрузить заказ по приращению идентификатору можно было бы сделать:

Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here 

Для загрузки по идентификатору объекта вы бы просто позвонить нагрузка:

Mage::getModel('sales/order')->load(24999); //use an entity id here 
+0

, я получил этот код –

+0

, тогда ... в чем проблема? – Wolfack

+0

У меня есть этот код, но я действительно не знаю, где мне нужно создать страницу и загрузить данные –

0

Создать файл в корневом каталоге (т.е. test.php) и попробуйте ниже кодирования.

require_once 'app/Mage.php'; 
ini_set('display_errors', 1); 
umask(0); 
Mage::app(); 

$orderNumber = 145000013; 
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber); 
// get order item collection 
$orderItems = $order->getItemsCollection(); 
foreach ($orderItems as $item){ 
$product_id = $item->product_id; 
$product_sku = $item->sku; 
$product_name = $item->getName(); 
$_product = Mage::getModel('catalog/product')->load($product_id); 
$cats = $_product->getCategoryIds(); 
$category_id = $cats[0]; 
$category = Mage::getModel('catalog/category')->load($category_id); 
$category_name = $category->getName(); 
echo "orderNumber=".$orderNumber."<br/>"; 
echo "orderValue=".$orderValue."<br/>"; 
echo "product_name=".$product_name."<br/>"; 
echo "product_id=".$product_id."<br/>"; 
echo "product_sku=".$product_sku."<br/>"; 
echo "category_id=".$category_id."<br/>"; 
echo "category_name=".$category_name."<br/><br/>"; 
} 

его рабочий, когда вы можете получить детали извне.

+0

Спасибо, это выборка данных. можете ли вы отправить мне любую ссылку, как я могу получить ЦЕНУ, Адрес доставки, ПОЛЬЗОВАТЕЛЬ электронной почты, пользователь Телефон из базы данных –

+0

, пожалуйста, примите мой ответ. – user247217

+0

Попробуйте это. $ order-> getBillingAddress() -> getName(); OR $ custname = $ order-> getCustomer() -> getName(); – user247217

Смежные вопросы