[英]Product details in magento
我的magento應用程式中有這個程式碼
<?php
$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order_details = Mage::getModel('sales/order')->loadByIncrementId($order_id);
foreach ($order_details->getAllItems() as $item) {
//here i know we can get item name as $item->getName(), sku as $item->getSku()
//but how do we get the following details
//1.category name,2.store,3.tax,city,country,state
<?php } ?>
我知道只要通過print_r($order_details->getAllItems())
就能得到數組列表。
此項目與產品不同,它們不具有所有屬性。 您可以執行Mage::getModel('catalog/product')->load($item->getProductId());
一種測試事物的快速方法,但這為循環中的每個項目都向mysql添加了一個額外的查詢。 或者我建議編輯sales xml-> Mage> Sales> etc> config.xml(在本地模塊中)。 您應該將要從產品復制到項目的屬性添加到節點sales_convert_quote_item或sales_convert_order_item。 在您的情況下,由於您正在處理訂單,因此它將是sales_convert_order_item節點。
您需要加載完整的產品模型才能訪問該數據。
您要加載的集合不是產品,而是訂單項的集合,該集合具有最少的相關數據。 您需要通過從訂單項中獲取產品來加載完整的產品模型。
嘗試這個:
<?php
$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order_details = Mage::getModel('sales/order')->loadByIncrementId($order_id);
?>
<?php foreach ($order_details->getAllItems() as $item): ?>
<?php $product = Mage::getModel('catalog/product')->load($item->getProductId()) ?>
<?php echo $product->getName() ?>
<?php // now you have the full product model/data loaded ?>
<?php endforeach ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.