防止Magento缓存查询字符串,例如limit param

Mar*_*elo 3 magento query-string

行为

我每页只显示3个产品.所以在我的catalog.xml中我有

<action method="setDefaultGridPerPage"><limit>3</limit></action>
<action method="addPagerLimit"><mode>grid</mode><limit>3</limit></action>
Run Code Online (Sandbox Code Playgroud)

如果我去/category.html,我只会看到3个产品.它很棒!

但我也希望能够一次显示所有产品,因此我将以下内容添加到catalog.xml中:

<action method="addPagerLimit"><mode>grid</mode><limit>999</limit></action>
Run Code Online (Sandbox Code Playgroud)

现在,如果我导航到/category.html?limit=999,我可以按预期看到所有类别的产品.

问题:

当我回到/category.html,没有限制参数时,它显示所有产品而不是我希望它做的3.它发生是因为Magento缓存了限制偏好.

问题:

是否存在阻止magento缓存列表选项的配置?

先感谢您.

Mar*_*ius 5

在工具栏块中有一个名为的方法disableParamsMemorizing.这应该禁止在会话中存储参数.
尝试在工具栏块中添加它.

<action method="disableParamsMemorizing" />
Run Code Online (Sandbox Code Playgroud)

或者你可以覆盖Mage_Catalog_Block_Product_List类并使getToolbarBlock方法看起来像这样:

public function getToolbarBlock()
{
    if ($blockName = $this->getToolbarBlockName()) {
        if ($block = $this->getLayout()->getBlock($blockName)) {
            $block->disableParamsMemorizing();
            return $block;
        }
    }
    $block = $this->getLayout()->createBlock($this->_defaultToolbarBlock, microtime());
    $block->disableParamsMemorizing();
    return $block;
} 
Run Code Online (Sandbox Code Playgroud)