簡體   English   中英

magento產品詳細信息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM