簡體   English   中英

Magento getUrl顯示緩存的URL

[英]Magento getUrl showing cached url

我添加了一個自定義塊,用於顯示父類別的子類別。 如下。

<?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>

此代碼正確顯示父類別中的子類別列表。 但是,當我導航到這些子類別之一時,會發生一些奇怪的事情。

問題

父類別=汽車制造子類別=奧迪,福特,沃克斯豪爾

使用上面的代碼,我正確地收到了上面的子類別的列表。 刷新緩存后,如果我要導航到AUDI,則該URL將正確生成,例如:

 mysite.com/CAR MAKES/Audi.html

很好,但是如果我再返回並導航至FORD,則頁面頂部的網址顯示為

 mysite.com/CAR MAKES/Ford.html

如果我使用以下代碼在生成的頁面上回顯網址:

<?php $currentUrl = Mage::helper('core/url')->getCurrentUrl(); echo $currentUrl; ?>

它會一直顯示

mysite.com/CAR MAKES/Audi.html

即使我導航到FORD或VAUXHALL,盡管頁面頂部的URL顯示正確,但回顯的URL是/Audi.html。

我完全不知道為什么會這樣。 我正在嘗試為每個汽車品牌和型號生成一個產品列表,但是一旦您導航到一個品牌和型號,當導航到另一個品牌和型號時,它將始終顯示那些結果。 除非我刷新了緩存,否則在這種情況下,我將第一次導航至制造商並對其模型進行正確顯示,然后重復該錯誤。

在布局更新中添加此代碼。

<block type="core/template" template="your-template-path.phtml" name="template-name" ><action method="setCacheLifetime"><s>null</s></action></block>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM