Блокирует Кэш HTML и Отображение Подкатегорий


Итак, я переместил свой магазин до версии 1.9.2.1, все выглядит хорошо, за исключением кэша HTML блоков.

Я постараюсь объяснить это как можно лучше.

У меня обычная настройка использования статического блока, вызывающего скрипт для отображения подкатегорий в родительской категории. Что-то похожее на этот учебник

Это всегда работало без каких-либо заминок...Пока я не обновился. Проблема, которую я вижу, заключается в том, что любые страницы категорий, использующие этот статический блок сценарий для отображения подкатегорий не работает, в результате чего все эти категории отображают одну и ту же кэшированную страницу подкатегорий. Это похоже на то, что это не повторное кэширование, а просто предоставление одного и того же контента на всех этих страницах. Это означает, что клиенты не могут перейти к правильным слоям сайта, потому что любая категория, использующая сценарий подкатегорий, увидит один и тот же кэшированный макет с неправильными подкатегориями.

Я запустил скрипт очистки Mage, чтобы сбросить любые странные проблемы с разрешениями, но безрезультатно. В качестве временного исправления, чтобы мои клиенты могли просматривать сайт, я отключил кэш HTML блоков, который сразу устраняет проблему. Таким образом, очевидно, что проблема заключается в том, что кэш неправильно обслуживает содержимое или фактически осознает, что требуется повторный кэш. Как мне это исправить? Существует ли более эффективный способ обслуживания подкатегорий в родительских категориях, в которых нет списка отдельных продуктов?

Вот код, который я использую для отображения подкатегорий в хорошая сетка (Прошлое):

<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>
Author: 7ochem, 2015-09-14

1 answers

Возможно, вы столкнулись с ошибкой кэша статических блоков, введенной в 1.9.2, хотя сообщалось, что она исправлена в 1.9.2.1. У меня все еще возникали проблемы с кэшированием статических блоков. Более подробная информация доступна здесь

Проблемы с отображением статических блоков Magento 1.9.2.0

Хорошим решением/обходным путем для этой ошибки является этот модуль

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

 0
Author: paj, 2017-04-13 12:55:05