Pergunta

Então, mudei minha loja para 1.9.2.1. Tudo parece bem, exceto o Blocks HTML Cache.

Vou tentar explicar isso da melhor maneira possível.

Eu tenho a configuração comum de usar um bloco estático chamando um script para exibir subcategorias dentro de uma categoria pai. Algo semelhante a este tutorial

Sempre funcionou sem problemas...Até que eu atualizei.O problema que estou vendo é que todas as páginas de categoria que usam esse script de bloco estático para exibir subcategorias estão falhando, resultando em todas essas categorias exibindo a mesma página de subcategorias em cache.É como se não estivesse armazenando novamente em cache e apenas exibindo o mesmo conteúdo para todas essas páginas.Isso significa que os clientes não podem navegar até as camadas corretas do site porque qualquer categoria que use o script de subcategoria verá o mesmo layout em cache com subcategorias incorretas.

Executei um script de limpeza do Mage para redefinir quaisquer problemas estranhos de permissão, mas sem sucesso.Como uma solução temporária para que meus clientes possam realmente navegar no site, desativei o Blocks HTML Cache, que corrige o problema imediatamente.Então, claramente, o problema é que o cache não fornece o conteúdo corretamente ou, de fato, percebe que um novo cache é necessário.Como faço para consertar isso?Existe uma maneira mais eficiente de servir subcategorias dentro de categorias principais que não listam produtos individuais?

Aqui está o código que estou usando para exibir subcategorias em uma boa grade (Pastbin):

<div class='category-grid'>
<?php 
if($_collectionSize):
    $i=0; 
    $layer = Mage::getSingleton('catalog/layer');
    ?>
    <ul class="products-grid">
    <?php
    foreach ($_categories as $_category):

        $layer->setCurrentCategory($_category);
        $_category = Mage::getModel('catalog/category')->load($_category->getId());


        $products = Mage::getModel('catalog/product')->getCollection()
                                                ->addCategoryFilter($_category)
                                                ->addAttributeToSort('price', 'asc')
                                                ->setPageSize(1)
                                                ->load();

        $prod = $products->getFirstItem();
        $lowestProductPrice = $taxHelper->getPrice($prod, $prod->getPrice(), true, null, null, null, null, false);
        $formattedPrice = Mage::helper('core')->currency($lowestProductPrice, true, false);

            //$originalCategory->getThumbnail();
             $_img = ($_category->getThumbnail()) ? "/media/catalog/category/".$_category->getThumbnail() : "/media/placeholders/small.jpg";
             $_img = Mage::getBaseUrl() . $_img;
        ?>
                    <li class="item <?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
                        <a href="<?php echo $_category->getUrl(); ?>" title="<?php echo $_category->getName(); ?>" class="product-image">
                            <?php if($_img):?>
                                <img src="<?php echo $_img; ?>" alt="<?php echo $_category->getName();?>" />
                            <?php else:?>
                                <?php echo $_category->getName();?>
                            <?php endif;?>
                        </a>
                        <div class="product-detail">
                            <h2 class="product-name"><a href="<?php echo $helper->getCategoryUrl($_category); ?>" title="<?php echo $this->stripTags($_category->getName(), null, true) ?>"><?php echo $_category->getName(); ?></a></h2>

                        </div>
                    </li>
    <?php endforeach; ?>
    </ul>
<?php else: ?>
<p><?php echo $this->__('No categories found.'); ?></p>
<?php endif ?>
</div>
Foi útil?

Solução

Você pode estar enfrentando o bug de cache de bloco estático introduzido na versão 1.9.2, embora relatado como corrigido na versão 1.9.2.1, ainda tive problemas de cache com blocos estáticos.Mais informações disponíveis aqui

Problemas de exibição de bloco estático do Magento 1.9.2.0

Uma boa correção/solução alternativa para esse bug é este módulo

https://github.com/progammer-rkt/Rkt_SbCache

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top