Vì vậy, tôi đã chuyển cửa hàng của mình lên 1.9.2.1 Mọi thứ đều ổn ngoại trừ Cache HTML Blocks.
Tôi sẽ cố gắng giải thích điều này tốt nhất có thể.
Tôi có thiết lập chung là sử dụng khối tĩnh gọi tập lệnh để hiển thị các danh mục con trong danh mục chính. Một cái gì đó tương tự như hướng dẫn này
Nó luôn hoạt động mà không gặp trở ngại nào ... Cho đến khi tôi nâng cấp. Vấn đề tôi thấy là bất kỳ trang danh mục nào sử dụng tập lệnh khối tĩnh này để hiển thị các danh mục phụ đều không thành công, dẫn đến tất cả các danh mục này hiển thị cùng một trang danh mục phụ được lưu trong bộ nhớ cache. Có vẻ như nó không lưu lại bộ nhớ cache và chỉ cung cấp cùng một nội dung cho tất cả các trang này. Điều đó có nghĩa là khách hàng không thể điều hướng đến các lớp chính xác của trang web bởi vì bất kỳ Danh mục nào sử dụng tập lệnh danh mục phụ sẽ thấy cùng bố cục được lưu trong bộ nhớ cache với các danh mục phụ không chính xác.
Tôi đã chạy tập lệnh dọn dẹp Mage để đặt lại bất kỳ vấn đề cấp phép lạ nào nhưng không có kết quả. Là một sửa chữa tạm thời để khách hàng của tôi thực sự có thể duyệt trang web, tôi đã vô hiệu hóa Cache HTML Cache để khắc phục sự cố ngay lập tức. Vì vậy, rõ ràng vấn đề là với Cache không phục vụ chính xác nội dung hoặc trên thực tế, nhận ra rằng cần phải có lại bộ đệm. Làm thế nào để tôi sửa chữa điều này? Có cách nào hiệu quả hơn để phục vụ các danh mục phụ trong danh mục chính không liệt kê các sản phẩm riêng lẻ không?
Đây là mã tôi đang sử dụng để hiển thị các danh mục phụ trong một lưới đẹp ( 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>