Question

Donc, j'ai déplacé mon magasin jusqu'à 1.9.2.1 Tout va bien, sauf pour le cache HTML Blocks.

Je vais essayer d'expliquer cela au mieux que je peux.

J'ai la configuration commune de l'utilisation d'un bloc statique appelant un script pour afficher des sous-catégories dans une catégorie mère. Quelque chose de similaire à ce tutoriel

Il est toujours travaillé sans attelage ... jusqu'à ce que j'ai mis à niveau. Le problème que je vois, c'est que toutes les pages de catégorie utilisant ce script de bloc statique pour afficher les sous-catégories échouent, ce qui entraîne toutes ces catégories affichant la même page sous-catégories mises en cache. C'est comme si ce n'est pas la mise en cache et simplement servir le même contenu à toutes ces pages. Cela signifie que les clients ne peuvent pas naviguer vers les couches correctes du site car toute catégorie utilisant le script de sous-catégorie verra la même disposition mise en cache avec des sous-catégories incorrectes.

J'ai exécuté un script de nettoyage mage pour réinitialiser les problèmes d'autorisation étranges mais sans être en vain. En tant que solution temporaire, mes clients peuvent donc parcourir le site, j'ai désactivé le cache HTML Blocks qui corrige le problème immédiatement. Donc, clairement, le problème est que le cache ne servant pas le contenu correctement ou en fait, réalisant qu'une rétablie est requise. Comment puis-je faire la réparation de cela? Existe-t-il un moyen plus efficace de servir des sous-catégories au sein des catégories des parents qui ne répertorient pas de produits individuels?

Voici le code que j'utilise pour afficher les sous-catégories dans une grille agréable ( 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>

Était-ce utile?

La solution

Vous pouvez bien connaître le bogue de cache de bloc statique introduit avec 1.9.2, bien que rapporté comme fixé dans 1.9.2.1, j'ai encore connu des problèmes de mise en cache avec des blocs statiques.Plus d'informations disponibles ici

Magento 1.9.2.0 Afficher les problèmes d'affichage du bloc statique

Un bon correctif / solution de contournement pour ce bogue est ce module

https://github.com/programmer-rkt/rkt_sbcache

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top