我添加了一个自定义块,显示父类别的子类别。如下。
<?php
$_helper = $this->helper('catalog/output');
$_category = $this->getCurrentCategory();
echo $_helper->categoryAttribute($_category, $_category->getName(), 'name');
$categoriess = $_category->getCollection()
->addAttributeToSelect(array('name', 'thumbnail'))
->addAttributeToFilter('is_active', 1)
->addIdFilter($_category->getChildren())
?>
<ul class="subcategories">
<?php foreach ($categoriess as $categoryy): ?>
<li>
<a href="<?php echo $categoryy->getUrl() ?>"><img src="<?php echo Mage::getBaseUrl('media') . 'catalog' . DS . 'category' . DS . $categoryy->getThumbnail() ?>" alt="<?php echo $this->htmlEscape($categoryy->getName()) ?>" />
<span><?php echo $categoryy->getName() ?></span></a>
</li>
<?php endforeach; ?>
</ul>
此代码正确显示父类别中的子类别列表。然而,当我导航到其中一个子类别时,会发生一些奇怪的事情。
问题
父类别= CAR MAKES 子类别=奥迪,福特,沃克斯霍尔
使用上面的代码我正确地收到了上面的子类别列表。刷新缓存后,如果我要导航到AUDI,则URL将正确生成,例如:
mysite.com/CAR MAKES/Audi.html
这很好,但是如果我然后返回导航到FORD页面顶部的网址显示为
mysite.com/CAR MAKES/Ford.html
BUT
如果我使用以下代码回显生成页面上的网址:
<?php $currentUrl = Mage::helper('core/url')->getCurrentUrl(); echo $currentUrl; ?>
它将始终显示
mysite.com/CAR MAKES/Audi.html
即使我导航到FORD,或者VAUXHALL,回显的网址是/Audi.html,尽管页面顶部的网址显示正确。
我完全不知道为什么会这样。我正在尝试为每个汽车品牌和型号生成产品列表,但是一旦您导航到一个品牌和型号,它将始终在导航到另一个品牌和型号时显示这些结果。除非我刷新缓存,在这种情况下,我第一次导航到它正确显示的品牌和型号,然后错误重复。
答案 0 :(得分:0)
在布局更新中添加此代码。
<block type="core/template" template="your-template-path.phtml" name="template-name" ><action method="setCacheLifetime"><s>null</s></action></block>