Latest products come first in category magento
In magento there is by default product position sort order ASC so the newly added product goes to last and old product remains first. But people wants to latest products first when they visit any category of the site. Here i have used small trick to display newly product in DESC order.
Go to app\code\core\Mage\Catalog\Block\Product\List\Toolbar.php
Find the below function in this file
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);
}
$this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
return $this;
}
And replace this to below one
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()) {
if(($this->getCurrentOrder())=='position'){
$this->_collection->setOrder('entity_id','desc');
}
else {
$this->_collection->setOrder($this->getCurrentOrder(),$this->getCurrentDirection());
}
}
return $this;
}
No comments:
Post a Comment