2011-12-22 2 views
0

Когда я впервые загружаю productcollection в list.phtml (или когда полностью завершаю кеширование), возвращаемые продукты являются продуктами, которые находятся в категории, которая была создана последней (т.е. категория с наивысшим id). Когда кеш включен, при обновлении страницы отображаются правильные продукты. После удаления кеша возникает такая же ситуация (для отображения правильных продуктов мне нужно обновить страницу один раз, когда отображается список товаров).Magento отображает неправильные продукты в категории view

Еще одна странная вещь; Если я называю

$_product->getCategory()->getName() 

правильный CategoryName возвращается, но когда

$_product->getName() 

называется, неправильно PRODUCTNAME возвращается ... Im при полной потере здесь. Я прочитал аналогичное сообщение в другом месте, в котором говорится, что при включении кеша эта проблема исчезает, но только после первого обновления страницы, что крайне нежелательно.

<?php $_coreHelper = $this->helper('core'); ?> 

    <?php $_productCollection=$this->getLoadedProductCollection() ?> 

    <?php echo Mage::getModel('catalog/layer')->getCurrentCategory()->getName(); ?> 
    <?php echo Mage::getModel('catalog/layer')->getCurrentCategory()->getId(); ?> 


    <?php if(!$_productCollection->count()): ?> 
    <p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p> 
    <?php else: ?> 
    <div class="category-products"> 

     <?php $_collectionSize = $_productCollection->count() ?> 
     <?php $_columnCount = 4; ?> 
     <?php $i=0; foreach ($_productCollection as $_product): ?> 

     <?php echo var_dump($_product->getCategory()->getName()); ?> 

     <?php if ($i++%$_columnCount==0): ?> 
      <ul class="products-grid" style="padding-left:0px;"> 
     <?php endif ?> 

     <li style="height:230px;" class="hreview-aggregate hproduct item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>"> 

     <h2 class="item fn product-name"> 
      <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_product->getName() ?>"><?php echo substr($this->htmlEscape($_product->getName()), 0, 22).'...' ?></a> 
     </h2> 

     <div> 
      <div> 
       <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->getImageLabel($_product, 'small_image') ?>" class="url product-image"><img class="photo fn" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(100); ?>" width="100" height="100" alt="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" /></a>  
      </div> 
      <div style="clear:both"></div> 
     </div> 

     <div> 

      <div> 
      <div> 
       <div> 
        <div><span style="font-size:13px;font-weight:bold;"><?php echo $_coreHelper->currency($newprice,true,false) ?> <?php echo $this->helper('tax')->__('Ex. BTW') ?></span></div><br /> 
        <div><?php echo $_coreHelper->currency($newtaxprice,true,false) ?> <?php echo $this->helper('tax')->__('Inc. BTW') ?></div> 
       </div> 
      </div> 
      <div style="clear:both;"></div> 

      <br /> 

      <form action="<?=$this->getAddToCartUrl($_product);?>" method="post" id="product_addtocart_form_<?=$_product->getId();?>" <?if($_product->getOptions()){?> enctype="multipart/form-data"<?}?>> 
       <?if(!$_product->isGrouped()){?> 
        <input type="text" name="qty" id="qty" maxlength="12" value="<?echo ($this->getMinimalQty($_product)?$this->getMinimalQty($_product):1);?>" style="width:30px;" /> x 
       <?}?> 
       <button type="button" class="button-order" onclick="this.form.submit()"><span><span><?=$this->__('Bestellen');?></span></span></button> 
       <br /><br /> 
       <span><a href="" style="color:#888;">Zet in verlanglijst</a></span> 
      </form> 
      </div> 

     </div> 

     <div style="clear:both"></div> 
        </li> 
       <?php if ($i%$_columnCount==0 || $i==$_collectionSize): ?> 
       </ul> 
       <?php endif ?> 
       <?php endforeach ?> 
       <script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script> 
      <?php endif; ?> 

      <div class="toolbar-bottom"> 
       <?php echo $this->getToolbarHtml() ?> 
      </div> 
     </div> 
+0

- это страница категории с вашим пользовательским блоком или со стандартным? Если пользовательская проверка или сообщение getLoadedProductCollection –

ответ

1
  1. Переиндексирование все ваши продукты в повторной индексации страницы.
  2. Очистить кеш.
  3. Обновите страницу своей продукции.
+0

Это была проблема, связанная с некоторыми изменениями, которые мы сделали для того, чтобы получить цены из внешнего ERP-решения. Проблема решена. Спасибо за Вашу поддержку ! –

Смежные вопросы