Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save GideonBabu/143ad54de27ea7d3997e294fea14b498 to your computer and use it in GitHub Desktop.
Save GideonBabu/143ad54de27ea7d3997e294fea14b498 to your computer and use it in GitHub Desktop.
Magento 2: Product sorting high to low and low to high
<?php
namespace Company\Module\Block\Product\ProductList;
class Toolbar extends \Magento\Catalog\Block\Product\ProductList\Toolbar
{
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()) {
switch ($this->getCurrentOrder()) {
case 'high_to_low':
$this->_collection->setOrder('price', 'desc');
break;
case 'low_to_high':
$this->_collection->setOrder('price', 'asc');
break;
default:
$this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
break;
}
}
return $this;
}
}
@vikasmehar
Copy link

This is not working with elastic search. Can you please let me know how we can do same with elastic search. I am getting msg We can't find products matching the selection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment