문제

그래서 내 스토어를 1.9.2.1로 옮겼습니다. Blocks HTML 캐시를 제외하면 모든 것이 좋아 보입니다.

나는 이것을 최선을 다해 설명하려고 노력할 것입니다.

상위 카테고리 내의 하위 카테고리를 표시하기 위해 스크립트를 호출하는 정적 블록을 사용하는 일반적인 설정이 있습니다. 이 튜토리얼과 비슷한 것

업그레이드하기 전까지는 항상 문제 없이 작동했습니다.제가 보고 있는 문제는 하위 카테고리를 표시하기 위해 이 정적 블록 스크립트를 사용하는 모든 카테고리 페이지가 실패하여 이러한 모든 카테고리가 동일한 캐시된 하위 카테고리 페이지를 표시한다는 것입니다.다시 캐싱하지 않고 모든 페이지에 동일한 콘텐츠를 제공하는 것과 같습니다.이는 하위 카테고리 스크립트를 사용하는 모든 카테고리에서 잘못된 하위 카테고리가 포함된 동일한 캐시된 레이아웃을 보게 되므로 고객이 사이트의 올바른 레이어를 탐색할 수 없음을 의미합니다.

이상한 권한 문제를 재설정하기 위해 Mage 정리 스크립트를 실행했지만 소용이 없었습니다.고객이 실제로 사이트를 탐색할 수 있도록 임시 수정으로 문제를 즉시 해결하는 Blocks 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>
도움이 되었습니까?

해결책

1.9.2.1에서 수정된 것으로 보고되었지만 1.9.2에 도입된 정적 블록 캐시 버그가 발생할 수 있습니다. 정적 블록에 대한 캐싱 문제가 여전히 발생합니다.자세한 내용은 여기에서 확인할 수 있습니다.

Magento 1.9.2.0 정적 블록 표시 문제

이 버그에 대한 좋은 수정/해결 방법은 이 모듈입니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top