Magento 1.9 - отображение настраиваемого изображения продукта на странице истории заказов - PullRequest
0 голосов
/ 15 мая 2018

Я показываю изображение заказанного товара в «Мой заказ» на панели пользователя.

<?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 }?>

Все отлично работает.но он отображает все изображения настраиваемых продуктов.Я хочу отобразить выбранный настраиваемый простой образ продукта.

Любая помощь будет высоко ценится

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

я использовал 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 }?>
0 голосов
/ 15 мая 2018

Используйте следующий код:

<?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; ?>

Надеюсь, это поможет!

...