2016-06-06 3 views
0

Magento 1.9에서 내 체크 아웃 성공 페이지의 제품 세부 정보를 얻으려고 시도하지만 동일한 제품을 두 번 가져 오는 이유를 모르겠습니다. 이것은 내가이 예상되는 동작입니다 응용 프로그램/디자인/프론트 엔드/기초/기본/템플릿/체크 아웃/success.phtml에 파일성공 페이지의 작은 제품 문제 Magento

<tbody> 
     <?php 
     foreach ($items as $item): 
      $_product = Mage::getModel('catalog/product')->load($item->getProductId()); 
      $productType = $_product->getTypeId(); 
      $entityId = $_product->getEntityId(); 
      $options = $item->getProductOptions(); 
      if ($productType == "bundle") { 
       $bundled_product = new Mage_Catalog_Model_Product(); 
       $bundled_product->load($entityId); 
       $selectionCollection = $bundled_product->getTypeInstance(true)->getSelectionsCollection(   $bundled_product->getTypeInstance(true)->getOptionsIds($bundled_product), $bundled_product); 
       $bundled_items = array(); 
       foreach ($selectionCollection as $option) { 
        $bundled_items[] = $option->product_id; 
       }?> 
       <tr> 
        <td rowspan="1"> 
         <img class="product_img" src="<?php echo Mage::helper('catalog/image')->init($_product, 'thumbnail')->resize(75); ?>" alt="product-img" /> 
         <?php echo $item->getName(); 
         $customOptions = $options['options']; 
         if (!empty($customOptions)) { 
          foreach ($customOptions as $option) {?> 
           <span class="bottom-align"> 
            <?php 
            echo '<b>' . $option['label'] . '</b> :'; 
            echo $optionValue = $option['value']; 
            ?> 
           </span> 
           <?php 
          } 
         } 
         ?> 
        </td> 
        <td><?php echo $this->helper('checkout')->formatPrice($item->getPrice()); ?></td> 
        <td><?php echo $item->getQtyOrdered(); ?></td> 
        <td><?php echo $item->getSku(); ?></td> 
        <td><?php echo $this->helper('checkout')->formatPrice($item->getRowTotal()); ?></td> 
       </tr> 
       <?php 
      } else if (in_array($entityId, $bundled_items)) { 

      } else { 
       ?> 
       <tr> 
        <td> 
         <img class="product_img" src="<?php echo Mage::helper('catalog/image')->init($_product, 'thumbnail')->resize(75); ?>" alt="product-img" /> 
         <?php 
         echo $item->getName(); 

         $customOptions = $options['options']; 
         if (!empty($customOptions)) { 
          foreach ($customOptions as $option) { 
           ?> 
           <span class="bottom-align"> 
            <?php 
            echo '<b>' . $option['label'] . '</b> :'; 
            echo $optionValue = $option['value']; 
            ?></span>         
           <?php 
          } 
         } 
         ?> 
        </td> 
        <td><?php echo $this->helper('checkout')->formatPrice($item->getPrice()); ?></td> 
        <td><?php echo $item->getQtyOrdered(); ?></td> 
        <td><?php echo $item->getSku(); ?></td> 
        <td><?php echo $this->helper('checkout')->formatPrice($item->getRowTotal()); ?></td> 
       </tr> 
       <?php 
      } 
      ?> 
     <?php endforeach ?> 
    </tbody> 

enter image description here

답변

1

을 추가 할 것입니다. 복합 제품의 경우 데이터베이스에 여러 행이 삽입됩니다 : 번들, 구성 가능. 첫 번째 경우는 자체 번들 제품이고 두 번째 제품은 선택한 단순 제품입니다. 템플릿에서 } else {} elseif (!$item->getParentId()) {으로 대체하면 하위 단순 제품을 건너 뛸 수 있습니다.

관련 문제