Magento 2.2.5 Sort By Price: Low to High and High to Low












0















Need :- Sort by price low to high and high to low in product listing magento2.2.5



we follow this tuto but not working
Sort by price low to high and high to low in product listing magento2



anybody help me ?










share|improve this question























  • please help anybody

    – Pradeep Thakur
    Sep 20 '18 at 12:11
















0















Need :- Sort by price low to high and high to low in product listing magento2.2.5



we follow this tuto but not working
Sort by price low to high and high to low in product listing magento2



anybody help me ?










share|improve this question























  • please help anybody

    – Pradeep Thakur
    Sep 20 '18 at 12:11














0












0








0








Need :- Sort by price low to high and high to low in product listing magento2.2.5



we follow this tuto but not working
Sort by price low to high and high to low in product listing magento2



anybody help me ?










share|improve this question














Need :- Sort by price low to high and high to low in product listing magento2.2.5



we follow this tuto but not working
Sort by price low to high and high to low in product listing magento2



anybody help me ?







magento2






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Sep 20 '18 at 12:11









Pradeep ThakurPradeep Thakur

1




1













  • please help anybody

    – Pradeep Thakur
    Sep 20 '18 at 12:11



















  • please help anybody

    – Pradeep Thakur
    Sep 20 '18 at 12:11

















please help anybody

– Pradeep Thakur
Sep 20 '18 at 12:11





please help anybody

– Pradeep Thakur
Sep 20 '18 at 12:11












1 Answer
1






active

oldest

votes


















0














As you mention I follow the same example you found and it didn´t work for me, I did and small change in the aroundSetCollection function, and it looks like following:



public function aroundSetCollection(
MagentoCatalogBlockProductProductListToolbar $subject,
Closure $proceed,
$collection
) {
$currentOrder = $subject->getCurrentOrder();
$result = $proceed($collection);

if($currentOrder) {
if($currentOrder == 'high_to_low') {
$collection->setOrder('price', 'desc');
} else if($currentOrder == 'low_to_high') {
$collection->setOrder('price', 'asc');
} else if ($currentOrder == 'created_at') {
$collection->setOrder('created_at', 'desc');
}
}

return $collection;

}





share|improve this answer


























  • Your second "else if" would not work in this case. Once the first else if executes successfully, it will skip all others in the same block.

    – Adam Mellen
    Dec 27 '18 at 22:46











  • Hi @AdamMellen yep was a finger mistake, I just edit it

    – Tadeo Barranco
    Dec 28 '18 at 15:55











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52424894%2fmagento-2-2-5-sort-by-price-low-to-high-and-high-to-low%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














As you mention I follow the same example you found and it didn´t work for me, I did and small change in the aroundSetCollection function, and it looks like following:



public function aroundSetCollection(
MagentoCatalogBlockProductProductListToolbar $subject,
Closure $proceed,
$collection
) {
$currentOrder = $subject->getCurrentOrder();
$result = $proceed($collection);

if($currentOrder) {
if($currentOrder == 'high_to_low') {
$collection->setOrder('price', 'desc');
} else if($currentOrder == 'low_to_high') {
$collection->setOrder('price', 'asc');
} else if ($currentOrder == 'created_at') {
$collection->setOrder('created_at', 'desc');
}
}

return $collection;

}





share|improve this answer


























  • Your second "else if" would not work in this case. Once the first else if executes successfully, it will skip all others in the same block.

    – Adam Mellen
    Dec 27 '18 at 22:46











  • Hi @AdamMellen yep was a finger mistake, I just edit it

    – Tadeo Barranco
    Dec 28 '18 at 15:55
















0














As you mention I follow the same example you found and it didn´t work for me, I did and small change in the aroundSetCollection function, and it looks like following:



public function aroundSetCollection(
MagentoCatalogBlockProductProductListToolbar $subject,
Closure $proceed,
$collection
) {
$currentOrder = $subject->getCurrentOrder();
$result = $proceed($collection);

if($currentOrder) {
if($currentOrder == 'high_to_low') {
$collection->setOrder('price', 'desc');
} else if($currentOrder == 'low_to_high') {
$collection->setOrder('price', 'asc');
} else if ($currentOrder == 'created_at') {
$collection->setOrder('created_at', 'desc');
}
}

return $collection;

}





share|improve this answer


























  • Your second "else if" would not work in this case. Once the first else if executes successfully, it will skip all others in the same block.

    – Adam Mellen
    Dec 27 '18 at 22:46











  • Hi @AdamMellen yep was a finger mistake, I just edit it

    – Tadeo Barranco
    Dec 28 '18 at 15:55














0












0








0







As you mention I follow the same example you found and it didn´t work for me, I did and small change in the aroundSetCollection function, and it looks like following:



public function aroundSetCollection(
MagentoCatalogBlockProductProductListToolbar $subject,
Closure $proceed,
$collection
) {
$currentOrder = $subject->getCurrentOrder();
$result = $proceed($collection);

if($currentOrder) {
if($currentOrder == 'high_to_low') {
$collection->setOrder('price', 'desc');
} else if($currentOrder == 'low_to_high') {
$collection->setOrder('price', 'asc');
} else if ($currentOrder == 'created_at') {
$collection->setOrder('created_at', 'desc');
}
}

return $collection;

}





share|improve this answer















As you mention I follow the same example you found and it didn´t work for me, I did and small change in the aroundSetCollection function, and it looks like following:



public function aroundSetCollection(
MagentoCatalogBlockProductProductListToolbar $subject,
Closure $proceed,
$collection
) {
$currentOrder = $subject->getCurrentOrder();
$result = $proceed($collection);

if($currentOrder) {
if($currentOrder == 'high_to_low') {
$collection->setOrder('price', 'desc');
} else if($currentOrder == 'low_to_high') {
$collection->setOrder('price', 'asc');
} else if ($currentOrder == 'created_at') {
$collection->setOrder('created_at', 'desc');
}
}

return $collection;

}






share|improve this answer














share|improve this answer



share|improve this answer








edited Dec 28 '18 at 15:55

























answered Dec 27 '18 at 22:21









Tadeo BarrancoTadeo Barranco

111




111













  • Your second "else if" would not work in this case. Once the first else if executes successfully, it will skip all others in the same block.

    – Adam Mellen
    Dec 27 '18 at 22:46











  • Hi @AdamMellen yep was a finger mistake, I just edit it

    – Tadeo Barranco
    Dec 28 '18 at 15:55



















  • Your second "else if" would not work in this case. Once the first else if executes successfully, it will skip all others in the same block.

    – Adam Mellen
    Dec 27 '18 at 22:46











  • Hi @AdamMellen yep was a finger mistake, I just edit it

    – Tadeo Barranco
    Dec 28 '18 at 15:55

















Your second "else if" would not work in this case. Once the first else if executes successfully, it will skip all others in the same block.

– Adam Mellen
Dec 27 '18 at 22:46





Your second "else if" would not work in this case. Once the first else if executes successfully, it will skip all others in the same block.

– Adam Mellen
Dec 27 '18 at 22:46













Hi @AdamMellen yep was a finger mistake, I just edit it

– Tadeo Barranco
Dec 28 '18 at 15:55





Hi @AdamMellen yep was a finger mistake, I just edit it

– Tadeo Barranco
Dec 28 '18 at 15:55


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52424894%2fmagento-2-2-5-sort-by-price-low-to-high-and-high-to-low%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Mossoró

Error while reading .h5 file using the rhdf5 package in R

Pushsharp Apns notification error: 'InvalidToken'