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>