【问题标题】:Magento 1.9 - Displaying Configurable product image in Order History pageMagento 1.9 - 在订单历史页面中显示可配置的产品图片
【发布时间】:2018-05-15 11:59:40
【问题描述】:

我正在用户仪表板的“我的订单”中显示已订购产品的图像。

<?php
        $orderId = $_order->getId(); 
        $order = Mage::getModel('sales/order')->load($orderId);
        $items = $order->getAllItems();
        foreach ($items as $itemId => $_item)
          {
            if($_item->getProductType() == 'configurable') 
                {
                  $product = $_item->getProduct();
                 }else{
                  $product = Mage::getModel('catalog/product')->setStoreId($_item->getOrder()->getStoreId())->load($_item->getProductId());
                }
?>
               <img src="<?php echo Mage::helper('catalog/image')->init($product, 'small_image')->resize(75); ?>" width="75" height="75" />
<?php }?>

一切正常。但它显示可配置产品的所有图像。我想显示选定的可配置简单产品图像。

任何帮助将不胜感激

【问题讨论】:

    标签: magento-1.9 configurable-product


    【解决方案1】:

    使用下面的代码:

    <?php $orderId = $_order->getId(); ?>
    <?php $order = Mage::getModel('sales/order')->load($orderId); ?>
    <?php foreach ($order->getAllItems() as $itemId => $_item): ?>
        <?php if($_item->getProductType() == 'configurable')  :?>
          <?php $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $_item->getSku()); ?>
        <?php else: ?>
          <?php $product = Mage::getModel('catalog/product')->setStoreId($_item->getOrder()->getStoreId())->load($_item->getProductId()); ?>
        <?php endif; ?>
        <img src="<?php echo Mage::helper('catalog/image')->init($product, 'small_image')->resize(75); ?>" width="75" height="75" />
    <?php endforeach; ?>
    

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      我用getAllVisibleItems 代替getAllItems 现在它正在工作。

      <?php
      $orderId = $_order->getId(); 
      $order = Mage::getModel('sales/order')->load($orderId);
      $items = $order->getAllVisibleItems();
      foreach ($items as $itemId => $_item){
        if($_item->getProductType() == 'configurable'){
                $product = $_item->getProduct();
        }else{
                $product = Mage::getModel('catalog/product')->setStoreId($_item->getOrder()->getStoreId())->load($_item->getProductId());
        }?>
             <img src="<?php echo Mage::helper('catalog/image')->init($product, 'small_image')->resize(75); ?>" width="75" height="75" />
       <?php }?>
      

      【讨论】:

        猜你喜欢
        • 2016-03-27
        • 2017-05-29
        • 1970-01-01
        • 1970-01-01
        • 2016-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-08
        相关资源
        最近更新 更多