我有以下问题。
在我的类别列表中,方法Mage_Catalog_Block_Product_List_Toolbar :: setCollection()被调用两次,因为我需要它没有疏忽。
这一直很有效。
现在我在Mage_Catalog_Block_Product_List_Toolbar :: setCollection()中添加了第二个排序属性
(我知道,为了简单起见,不要破解Magento-Core)
public function setCollection($collection)
{
$this->_collection = $collection;
$this->_collection->setCurPage($this->getCurrentPage());
// we need to set pagination only if passed value integer and more that 0
$limit = (int)$this->getLimit();
if ($limit) {
$this->_collection->setPageSize($limit);
}
if ($this->getCurrentOrder()) {
$this->_collection->setOrder('season', 'ASC');
$this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
}
return $this;
}
当我重新加载页面时,我收到错误消息: 您不能多次定义相关名称“季节”。
好的我明白这个错误出现是因为方法setCollection被调用了两次。但是,如果没有我的新行,为什么不会发生呢?
$this->_collection->setOrder('season', 'ASC');
我的意思是,无论是否有我的附加代码,这都会被调用两次
$this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
(例如$ this-> getCurrentOrdner是“name”)
我想了解它,以便我能为自己找到解决方案。
谢谢