I want to make Magento 2 filter option like this

enter image description here

but don't have any idea how to get max and min price range of all products in product listing page in Magento 2

thanks in advance


1 Answer 1


Overwrite Magento\LayeredNavigation\Block\Navigation\FilterRenderer and add following method:

 * Get price range
 * @param $filter
 * @return array
public function getPriceRange($filter)
    $filterPrice = array('min' => 0 , 'max'=>0);
    if($filter instanceof \Magento\CatalogSearch\Model\Layer\Filter\Price) {
        $priceArr = $filter->getResource()->loadPrices(10000000000);
        $filterPrice['min'] = reset($priceArr);
        $filterPrice['max'] = end($priceArr);
    return $filterPrice;

Now inside filter.phtml try following way:

<?php if($filter instanceof Magento\CatalogSearch\Model\Layer\Filter\Price ): ?>
    <?php $range =  $block->getPriceRange($filter);?>

  • I don't do like this, i only want to get all price range in layered navigation Jan 27, 2019 at 12:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.