Blockiert die Anzeige von HTML-Cache und Unterkategorien


7

Also habe ich meinen Shop auf 1.9.2.1 verschoben. Bis auf den Blocks HTML Cache sieht alles gut aus.

Ich werde versuchen, dies so gut wie möglich zu erklären.

Ich habe die übliche Konfiguration, einen statischen Block zu verwenden, der ein Skript aufruft, um Unterkategorien innerhalb einer übergeordneten Kategorie anzuzeigen. Ähnliches wie in diesem Tutorial

Es hat immer ohne Probleme funktioniert ... Bis ich ein Upgrade durchgeführt habe. Das Problem, das ich sehe, ist, dass alle Kategorieseiten, die dieses statische Blockskript zum Anzeigen von Unterkategorien verwenden, fehlschlagen, was dazu führt, dass alle diese Kategorien dieselbe zwischengespeicherte Unterkategorieseite anzeigen. Es ist, als würde es nicht erneut zwischengespeichert und nur den gleichen Inhalt für alle diese Seiten bereitgestellt. Dies bedeutet, dass Kunden nicht zu den richtigen Ebenen der Site navigieren können, da für jede Kategorie, die das Unterkategorieskript verwendet, dasselbe zwischengespeicherte Layout mit falschen Unterkategorien angezeigt wird.

Ich habe ein Mage-Bereinigungsskript ausgeführt, um seltsame Berechtigungsprobleme zurückzusetzen, aber ohne Erfolg. Als vorübergehende Korrektur, damit meine Kunden die Website tatsächlich durchsuchen können, habe ich den Block-HTML-Cache deaktiviert, wodurch das Problem sofort behoben wird. Das Problem liegt also eindeutig darin, dass der Cache den Inhalt nicht korrekt oder tatsächlich bereitstellt und erkennt, dass ein erneuter Cache erforderlich ist. Wie behebe ich das? Gibt es eine effizientere Möglichkeit, Unterkategorien innerhalb übergeordneter Kategorien zu bedienen, in denen keine einzelnen Produkte aufgelistet sind?

Hier ist der Code, mit dem ich Unterkategorien in einem schönen Raster ( Pastbin ) anzeige :

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

Antworten:


0

Möglicherweise tritt der mit 1.9.2 eingeführte statische Block-Cache-Fehler auf, obwohl er als in 1.9.2.1 behoben gemeldet wurde. Bei statischen Blöcken sind immer noch Caching-Probleme aufgetreten. Weitere Informationen finden Sie hier

Probleme mit der Anzeige statischer Blöcke in Magento 1.9.2.0

Eine gute Lösung für diesen Fehler ist dieses Modul

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


Das ist toll, danke für den Link. Ich werde das Update auf meinem Staging implementieren und sehen, wie es ausgeführt wird.
Jake

Die neueste Version für 2017 ist 1.9.3.6 und dennoch besteht das Problem weiterhin
Vaishal Patel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.