Magento 2 Layered Navigation on Advanced Search Result PageMagento 2 Layered Navigation in Advance Search ResultLayered navigation, going to other page doesnt workPrice increments in layered navigationCategory layered navigation include searchable productsPrice Filter not displaying in Magento 1.9.2.4 Community EditionCustomize Layered Navigation and Catalog List BehaviourDoes layered navigation always have to use the configured search engine?magento 2 : show all attributes even after filters applied in layered navigationHow to show layered Navigation based on Advanced Search ResultPrice filter in layered navigation not working correctly with price including tax in magento 2.2.3Magento2.3 : Layered Navigation issue
Do photons bend spacetime or not?
Can I tell a prospective employee that everyone in the team is leaving?
Construct a word ladder
Why aren't space telescopes put in GEO?
My employer faked my resume to acquire projects
Where have Brexit voters gone?
How to respond to upset student?
One-way train from Paris to Barcelona
Make 24 using exactly three 3s
I know that there is a preselected candidate for a position to be filled at my department. What should I do?
Need to read my home electrical meter
The art of clickbait captions
Why most published works in medical imaging try reducing false positives?
Of strange atmospheres - the survivable but unbreathable
DEB Equivalent for RPM's 'replace' utility
Why do Russians almost not use verbs of possession akin to "have"?
How to cut a climbing rope?
Why were helmets and other body armour not commonplace in the 1800s?
Is it legal to meet with potential future employers in the UK, whilst visiting from the USA
Can my floppy disk still work without a shutter spring?
First Match - awk
Which European Languages are not Indo-European?
Why does this if-statement combining assignment and an equality check return true?
Is the Unsullied name meant to be ironic? How did it come to be?
Magento 2 Layered Navigation on Advanced Search Result Page
Magento 2 Layered Navigation in Advance Search ResultLayered navigation, going to other page doesnt workPrice increments in layered navigationCategory layered navigation include searchable productsPrice Filter not displaying in Magento 1.9.2.4 Community EditionCustomize Layered Navigation and Catalog List BehaviourDoes layered navigation always have to use the configured search engine?magento 2 : show all attributes even after filters applied in layered navigationHow to show layered Navigation based on Advanced Search ResultPrice filter in layered navigation not working correctly with price including tax in magento 2.2.3Magento2.3 : Layered Navigation issue
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I am able to enable 'Layered Navigation' on Catalog Search Result-Page "http://127.0.0.1/catalogsearch/result/index/" (see image below) by just enabling the storefront properties 'Use in Search Results Layered Navigation' of my two attributes.
How can I enable same 'Layered Navigation' also on Catalog Search ADVANCED Result-Page "http://127.0.0.1/catalogsearch/advanced/result/" ?
ps: I have tried the solution from "Magento 2 Layered Navigation in Advance Search Result" but it gives me an error:
- My Catalog Search ADVANCED Result-Page looks now (after trying above solution) like this:
As you can see the layered navigation price-filter shows all items from inventory, instead of just the 4 items that were found as result (see arrows).
- When I click on a price-filter option like '€0.00 - €999.99 (5)', Magento displays an error:
magento2 magento-2.1 layered-navigation catalogsearch search-result
add a comment |
I am able to enable 'Layered Navigation' on Catalog Search Result-Page "http://127.0.0.1/catalogsearch/result/index/" (see image below) by just enabling the storefront properties 'Use in Search Results Layered Navigation' of my two attributes.
How can I enable same 'Layered Navigation' also on Catalog Search ADVANCED Result-Page "http://127.0.0.1/catalogsearch/advanced/result/" ?
ps: I have tried the solution from "Magento 2 Layered Navigation in Advance Search Result" but it gives me an error:
- My Catalog Search ADVANCED Result-Page looks now (after trying above solution) like this:
As you can see the layered navigation price-filter shows all items from inventory, instead of just the 4 items that were found as result (see arrows).
- When I click on a price-filter option like '€0.00 - €999.99 (5)', Magento displays an error:
magento2 magento-2.1 layered-navigation catalogsearch search-result
add a comment |
I am able to enable 'Layered Navigation' on Catalog Search Result-Page "http://127.0.0.1/catalogsearch/result/index/" (see image below) by just enabling the storefront properties 'Use in Search Results Layered Navigation' of my two attributes.
How can I enable same 'Layered Navigation' also on Catalog Search ADVANCED Result-Page "http://127.0.0.1/catalogsearch/advanced/result/" ?
ps: I have tried the solution from "Magento 2 Layered Navigation in Advance Search Result" but it gives me an error:
- My Catalog Search ADVANCED Result-Page looks now (after trying above solution) like this:
As you can see the layered navigation price-filter shows all items from inventory, instead of just the 4 items that were found as result (see arrows).
- When I click on a price-filter option like '€0.00 - €999.99 (5)', Magento displays an error:
magento2 magento-2.1 layered-navigation catalogsearch search-result
I am able to enable 'Layered Navigation' on Catalog Search Result-Page "http://127.0.0.1/catalogsearch/result/index/" (see image below) by just enabling the storefront properties 'Use in Search Results Layered Navigation' of my two attributes.
How can I enable same 'Layered Navigation' also on Catalog Search ADVANCED Result-Page "http://127.0.0.1/catalogsearch/advanced/result/" ?
ps: I have tried the solution from "Magento 2 Layered Navigation in Advance Search Result" but it gives me an error:
- My Catalog Search ADVANCED Result-Page looks now (after trying above solution) like this:
As you can see the layered navigation price-filter shows all items from inventory, instead of just the 4 items that were found as result (see arrows).
- When I click on a price-filter option like '€0.00 - €999.99 (5)', Magento displays an error:
magento2 magento-2.1 layered-navigation catalogsearch search-result
magento2 magento-2.1 layered-navigation catalogsearch search-result
asked Aug 31 '17 at 15:12
shahir hajirshahir hajir
4911934
4911934
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
When ever your try to filter product based on price using advanced search form this sent header value like
http://mage26.net/catalogsearch/advanced/result/?name=&sku=&description=&short_description=&price%5Bfrom%5D=1&price%5Bto%5D=10
Price value goes to array form like from
and to
.
But, if you try to filter layered navigation its goes to string not a array like from
and to
http://mage26.net/catalogsearch/advanced/result/?description=&name=&price=-10000&short_description=&sku=
-10000
means price 0-10000
10000-
means price 10000- above
.
I tried Below Solution its works fine.
Override this Model Class: vendor/magento/module-catalog-search/Model/Advanced.php
.
Create di.xml file with in directory app/code/Vendor/Module/etc/di.xml
.
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoCatalogSearchModelAdvanced" type="CloridaAddFilterModelRewriteAdvanced" />
</config>
Then Create Advanced.php in with in app/code/Vendor/Module/Model/Rewrite/Advanced.php
Advanced.php
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace VendorModuleModelRewrite;
use MagentoCatalogModelConfig;
use MagentoCatalogModelProductVisibility;
use MagentoCatalogModelProductFactory;
use MagentoCatalogModelResourceModelEavAttribute;
use MagentoCatalogModelResourceModelProductAttributeCollectionFactory as AttributeCollectionFactory;
use MagentoCatalogModelResourceModelProductCollectionFactory as ProductCollectionFactory;
use MagentoCatalogSearchModelResourceModelAdvancedCollection as ProductCollection;
use MagentoCatalogSearchModelResourceModelAdvancedFactory;
use MagentoDirectoryModelCurrencyFactory;
use MagentoEavModelEntityAttribute as EntityAttribute;
use MagentoFrameworkModelContext;
use MagentoFrameworkExceptionLocalizedException;
use MagentoFrameworkRegistry;
use MagentoStoreModelStoreManagerInterface;
/**
* Catalog advanced search model
* @method MagentoCatalogSearchModelResourceModelAdvanced getResource()
* @method int getEntityTypeId()
* @method MagentoCatalogSearchModelAdvanced setEntityTypeId(int $value)
* @method int getAttributeSetId()
* @method MagentoCatalogSearchModelAdvanced setAttributeSetId(int $value)
* @method string getTypeId()
* @method MagentoCatalogSearchModelAdvanced setTypeId(string $value)
* @method string getSku()
* @method MagentoCatalogSearchModelAdvanced setSku(string $value)
* @method int getHasOptions()
* @method MagentoCatalogSearchModelAdvanced setHasOptions(int $value)
* @method int getRequiredOptions()
* @method MagentoCatalogSearchModelAdvanced setRequiredOptions(int $value)
* @method string getCreatedAt()
* @method MagentoCatalogSearchModelAdvanced setCreatedAt(string $value)
* @method string getUpdatedAt()
* @method MagentoCatalogSearchModelAdvanced setUpdatedAt(string $value)
*
* @author Magento Core Team <core@magentocommerce.com>
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class Advanced extends MagentoCatalogSearchModelAdvanced
bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function getPreparedSearchCriteria($attribute, $value)
/**
* Returns prepared search criterias in text
*
* @return array
*/
public function getSearchCriterias()
return $this->_searchCriterias;
With in the Price Section, I have change like this.
if ($attribute->getAttributeCode() == 'price')
$rate = 1;
$store = $this->_storeManager->getStore();
$currency = $store->getCurrentCurrencyCode();
if ($currency != $store->getBaseCurrencyCode())
$rate = $store->getBaseCurrency()->getRate($currency);
if(is_array($value))
$value['from'] = (isset($value['from']) && is_numeric($value['from']))
? (float)$value['from'] / $rate
: '';
$value['to'] = (isset($value['to']) && is_numeric($value['to']))
? (float)$value['to'] / $rate
: '';
else
Then, Clear cache and Check it let me know if you have issue.
1
How to add Layered navigation on Custom Product Collection? I am displaying products by brand using custom controller.
– Magecode
Sep 1 '17 at 4:53
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
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: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f191471%2fmagento-2-layered-navigation-on-advanced-search-result-page%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
When ever your try to filter product based on price using advanced search form this sent header value like
http://mage26.net/catalogsearch/advanced/result/?name=&sku=&description=&short_description=&price%5Bfrom%5D=1&price%5Bto%5D=10
Price value goes to array form like from
and to
.
But, if you try to filter layered navigation its goes to string not a array like from
and to
http://mage26.net/catalogsearch/advanced/result/?description=&name=&price=-10000&short_description=&sku=
-10000
means price 0-10000
10000-
means price 10000- above
.
I tried Below Solution its works fine.
Override this Model Class: vendor/magento/module-catalog-search/Model/Advanced.php
.
Create di.xml file with in directory app/code/Vendor/Module/etc/di.xml
.
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoCatalogSearchModelAdvanced" type="CloridaAddFilterModelRewriteAdvanced" />
</config>
Then Create Advanced.php in with in app/code/Vendor/Module/Model/Rewrite/Advanced.php
Advanced.php
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace VendorModuleModelRewrite;
use MagentoCatalogModelConfig;
use MagentoCatalogModelProductVisibility;
use MagentoCatalogModelProductFactory;
use MagentoCatalogModelResourceModelEavAttribute;
use MagentoCatalogModelResourceModelProductAttributeCollectionFactory as AttributeCollectionFactory;
use MagentoCatalogModelResourceModelProductCollectionFactory as ProductCollectionFactory;
use MagentoCatalogSearchModelResourceModelAdvancedCollection as ProductCollection;
use MagentoCatalogSearchModelResourceModelAdvancedFactory;
use MagentoDirectoryModelCurrencyFactory;
use MagentoEavModelEntityAttribute as EntityAttribute;
use MagentoFrameworkModelContext;
use MagentoFrameworkExceptionLocalizedException;
use MagentoFrameworkRegistry;
use MagentoStoreModelStoreManagerInterface;
/**
* Catalog advanced search model
* @method MagentoCatalogSearchModelResourceModelAdvanced getResource()
* @method int getEntityTypeId()
* @method MagentoCatalogSearchModelAdvanced setEntityTypeId(int $value)
* @method int getAttributeSetId()
* @method MagentoCatalogSearchModelAdvanced setAttributeSetId(int $value)
* @method string getTypeId()
* @method MagentoCatalogSearchModelAdvanced setTypeId(string $value)
* @method string getSku()
* @method MagentoCatalogSearchModelAdvanced setSku(string $value)
* @method int getHasOptions()
* @method MagentoCatalogSearchModelAdvanced setHasOptions(int $value)
* @method int getRequiredOptions()
* @method MagentoCatalogSearchModelAdvanced setRequiredOptions(int $value)
* @method string getCreatedAt()
* @method MagentoCatalogSearchModelAdvanced setCreatedAt(string $value)
* @method string getUpdatedAt()
* @method MagentoCatalogSearchModelAdvanced setUpdatedAt(string $value)
*
* @author Magento Core Team <core@magentocommerce.com>
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class Advanced extends MagentoCatalogSearchModelAdvanced
bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function getPreparedSearchCriteria($attribute, $value)
/**
* Returns prepared search criterias in text
*
* @return array
*/
public function getSearchCriterias()
return $this->_searchCriterias;
With in the Price Section, I have change like this.
if ($attribute->getAttributeCode() == 'price')
$rate = 1;
$store = $this->_storeManager->getStore();
$currency = $store->getCurrentCurrencyCode();
if ($currency != $store->getBaseCurrencyCode())
$rate = $store->getBaseCurrency()->getRate($currency);
if(is_array($value))
$value['from'] = (isset($value['from']) && is_numeric($value['from']))
? (float)$value['from'] / $rate
: '';
$value['to'] = (isset($value['to']) && is_numeric($value['to']))
? (float)$value['to'] / $rate
: '';
else
Then, Clear cache and Check it let me know if you have issue.
1
How to add Layered navigation on Custom Product Collection? I am displaying products by brand using custom controller.
– Magecode
Sep 1 '17 at 4:53
add a comment |
When ever your try to filter product based on price using advanced search form this sent header value like
http://mage26.net/catalogsearch/advanced/result/?name=&sku=&description=&short_description=&price%5Bfrom%5D=1&price%5Bto%5D=10
Price value goes to array form like from
and to
.
But, if you try to filter layered navigation its goes to string not a array like from
and to
http://mage26.net/catalogsearch/advanced/result/?description=&name=&price=-10000&short_description=&sku=
-10000
means price 0-10000
10000-
means price 10000- above
.
I tried Below Solution its works fine.
Override this Model Class: vendor/magento/module-catalog-search/Model/Advanced.php
.
Create di.xml file with in directory app/code/Vendor/Module/etc/di.xml
.
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoCatalogSearchModelAdvanced" type="CloridaAddFilterModelRewriteAdvanced" />
</config>
Then Create Advanced.php in with in app/code/Vendor/Module/Model/Rewrite/Advanced.php
Advanced.php
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace VendorModuleModelRewrite;
use MagentoCatalogModelConfig;
use MagentoCatalogModelProductVisibility;
use MagentoCatalogModelProductFactory;
use MagentoCatalogModelResourceModelEavAttribute;
use MagentoCatalogModelResourceModelProductAttributeCollectionFactory as AttributeCollectionFactory;
use MagentoCatalogModelResourceModelProductCollectionFactory as ProductCollectionFactory;
use MagentoCatalogSearchModelResourceModelAdvancedCollection as ProductCollection;
use MagentoCatalogSearchModelResourceModelAdvancedFactory;
use MagentoDirectoryModelCurrencyFactory;
use MagentoEavModelEntityAttribute as EntityAttribute;
use MagentoFrameworkModelContext;
use MagentoFrameworkExceptionLocalizedException;
use MagentoFrameworkRegistry;
use MagentoStoreModelStoreManagerInterface;
/**
* Catalog advanced search model
* @method MagentoCatalogSearchModelResourceModelAdvanced getResource()
* @method int getEntityTypeId()
* @method MagentoCatalogSearchModelAdvanced setEntityTypeId(int $value)
* @method int getAttributeSetId()
* @method MagentoCatalogSearchModelAdvanced setAttributeSetId(int $value)
* @method string getTypeId()
* @method MagentoCatalogSearchModelAdvanced setTypeId(string $value)
* @method string getSku()
* @method MagentoCatalogSearchModelAdvanced setSku(string $value)
* @method int getHasOptions()
* @method MagentoCatalogSearchModelAdvanced setHasOptions(int $value)
* @method int getRequiredOptions()
* @method MagentoCatalogSearchModelAdvanced setRequiredOptions(int $value)
* @method string getCreatedAt()
* @method MagentoCatalogSearchModelAdvanced setCreatedAt(string $value)
* @method string getUpdatedAt()
* @method MagentoCatalogSearchModelAdvanced setUpdatedAt(string $value)
*
* @author Magento Core Team <core@magentocommerce.com>
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class Advanced extends MagentoCatalogSearchModelAdvanced
bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function getPreparedSearchCriteria($attribute, $value)
/**
* Returns prepared search criterias in text
*
* @return array
*/
public function getSearchCriterias()
return $this->_searchCriterias;
With in the Price Section, I have change like this.
if ($attribute->getAttributeCode() == 'price')
$rate = 1;
$store = $this->_storeManager->getStore();
$currency = $store->getCurrentCurrencyCode();
if ($currency != $store->getBaseCurrencyCode())
$rate = $store->getBaseCurrency()->getRate($currency);
if(is_array($value))
$value['from'] = (isset($value['from']) && is_numeric($value['from']))
? (float)$value['from'] / $rate
: '';
$value['to'] = (isset($value['to']) && is_numeric($value['to']))
? (float)$value['to'] / $rate
: '';
else
Then, Clear cache and Check it let me know if you have issue.
1
How to add Layered navigation on Custom Product Collection? I am displaying products by brand using custom controller.
– Magecode
Sep 1 '17 at 4:53
add a comment |
When ever your try to filter product based on price using advanced search form this sent header value like
http://mage26.net/catalogsearch/advanced/result/?name=&sku=&description=&short_description=&price%5Bfrom%5D=1&price%5Bto%5D=10
Price value goes to array form like from
and to
.
But, if you try to filter layered navigation its goes to string not a array like from
and to
http://mage26.net/catalogsearch/advanced/result/?description=&name=&price=-10000&short_description=&sku=
-10000
means price 0-10000
10000-
means price 10000- above
.
I tried Below Solution its works fine.
Override this Model Class: vendor/magento/module-catalog-search/Model/Advanced.php
.
Create di.xml file with in directory app/code/Vendor/Module/etc/di.xml
.
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoCatalogSearchModelAdvanced" type="CloridaAddFilterModelRewriteAdvanced" />
</config>
Then Create Advanced.php in with in app/code/Vendor/Module/Model/Rewrite/Advanced.php
Advanced.php
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace VendorModuleModelRewrite;
use MagentoCatalogModelConfig;
use MagentoCatalogModelProductVisibility;
use MagentoCatalogModelProductFactory;
use MagentoCatalogModelResourceModelEavAttribute;
use MagentoCatalogModelResourceModelProductAttributeCollectionFactory as AttributeCollectionFactory;
use MagentoCatalogModelResourceModelProductCollectionFactory as ProductCollectionFactory;
use MagentoCatalogSearchModelResourceModelAdvancedCollection as ProductCollection;
use MagentoCatalogSearchModelResourceModelAdvancedFactory;
use MagentoDirectoryModelCurrencyFactory;
use MagentoEavModelEntityAttribute as EntityAttribute;
use MagentoFrameworkModelContext;
use MagentoFrameworkExceptionLocalizedException;
use MagentoFrameworkRegistry;
use MagentoStoreModelStoreManagerInterface;
/**
* Catalog advanced search model
* @method MagentoCatalogSearchModelResourceModelAdvanced getResource()
* @method int getEntityTypeId()
* @method MagentoCatalogSearchModelAdvanced setEntityTypeId(int $value)
* @method int getAttributeSetId()
* @method MagentoCatalogSearchModelAdvanced setAttributeSetId(int $value)
* @method string getTypeId()
* @method MagentoCatalogSearchModelAdvanced setTypeId(string $value)
* @method string getSku()
* @method MagentoCatalogSearchModelAdvanced setSku(string $value)
* @method int getHasOptions()
* @method MagentoCatalogSearchModelAdvanced setHasOptions(int $value)
* @method int getRequiredOptions()
* @method MagentoCatalogSearchModelAdvanced setRequiredOptions(int $value)
* @method string getCreatedAt()
* @method MagentoCatalogSearchModelAdvanced setCreatedAt(string $value)
* @method string getUpdatedAt()
* @method MagentoCatalogSearchModelAdvanced setUpdatedAt(string $value)
*
* @author Magento Core Team <core@magentocommerce.com>
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class Advanced extends MagentoCatalogSearchModelAdvanced
bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function getPreparedSearchCriteria($attribute, $value)
/**
* Returns prepared search criterias in text
*
* @return array
*/
public function getSearchCriterias()
return $this->_searchCriterias;
With in the Price Section, I have change like this.
if ($attribute->getAttributeCode() == 'price')
$rate = 1;
$store = $this->_storeManager->getStore();
$currency = $store->getCurrentCurrencyCode();
if ($currency != $store->getBaseCurrencyCode())
$rate = $store->getBaseCurrency()->getRate($currency);
if(is_array($value))
$value['from'] = (isset($value['from']) && is_numeric($value['from']))
? (float)$value['from'] / $rate
: '';
$value['to'] = (isset($value['to']) && is_numeric($value['to']))
? (float)$value['to'] / $rate
: '';
else
Then, Clear cache and Check it let me know if you have issue.
When ever your try to filter product based on price using advanced search form this sent header value like
http://mage26.net/catalogsearch/advanced/result/?name=&sku=&description=&short_description=&price%5Bfrom%5D=1&price%5Bto%5D=10
Price value goes to array form like from
and to
.
But, if you try to filter layered navigation its goes to string not a array like from
and to
http://mage26.net/catalogsearch/advanced/result/?description=&name=&price=-10000&short_description=&sku=
-10000
means price 0-10000
10000-
means price 10000- above
.
I tried Below Solution its works fine.
Override this Model Class: vendor/magento/module-catalog-search/Model/Advanced.php
.
Create di.xml file with in directory app/code/Vendor/Module/etc/di.xml
.
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="MagentoCatalogSearchModelAdvanced" type="CloridaAddFilterModelRewriteAdvanced" />
</config>
Then Create Advanced.php in with in app/code/Vendor/Module/Model/Rewrite/Advanced.php
Advanced.php
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace VendorModuleModelRewrite;
use MagentoCatalogModelConfig;
use MagentoCatalogModelProductVisibility;
use MagentoCatalogModelProductFactory;
use MagentoCatalogModelResourceModelEavAttribute;
use MagentoCatalogModelResourceModelProductAttributeCollectionFactory as AttributeCollectionFactory;
use MagentoCatalogModelResourceModelProductCollectionFactory as ProductCollectionFactory;
use MagentoCatalogSearchModelResourceModelAdvancedCollection as ProductCollection;
use MagentoCatalogSearchModelResourceModelAdvancedFactory;
use MagentoDirectoryModelCurrencyFactory;
use MagentoEavModelEntityAttribute as EntityAttribute;
use MagentoFrameworkModelContext;
use MagentoFrameworkExceptionLocalizedException;
use MagentoFrameworkRegistry;
use MagentoStoreModelStoreManagerInterface;
/**
* Catalog advanced search model
* @method MagentoCatalogSearchModelResourceModelAdvanced getResource()
* @method int getEntityTypeId()
* @method MagentoCatalogSearchModelAdvanced setEntityTypeId(int $value)
* @method int getAttributeSetId()
* @method MagentoCatalogSearchModelAdvanced setAttributeSetId(int $value)
* @method string getTypeId()
* @method MagentoCatalogSearchModelAdvanced setTypeId(string $value)
* @method string getSku()
* @method MagentoCatalogSearchModelAdvanced setSku(string $value)
* @method int getHasOptions()
* @method MagentoCatalogSearchModelAdvanced setHasOptions(int $value)
* @method int getRequiredOptions()
* @method MagentoCatalogSearchModelAdvanced setRequiredOptions(int $value)
* @method string getCreatedAt()
* @method MagentoCatalogSearchModelAdvanced setCreatedAt(string $value)
* @method string getUpdatedAt()
* @method MagentoCatalogSearchModelAdvanced setUpdatedAt(string $value)
*
* @author Magento Core Team <core@magentocommerce.com>
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class Advanced extends MagentoCatalogSearchModelAdvanced
bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function getPreparedSearchCriteria($attribute, $value)
/**
* Returns prepared search criterias in text
*
* @return array
*/
public function getSearchCriterias()
return $this->_searchCriterias;
With in the Price Section, I have change like this.
if ($attribute->getAttributeCode() == 'price')
$rate = 1;
$store = $this->_storeManager->getStore();
$currency = $store->getCurrentCurrencyCode();
if ($currency != $store->getBaseCurrencyCode())
$rate = $store->getBaseCurrency()->getRate($currency);
if(is_array($value))
$value['from'] = (isset($value['from']) && is_numeric($value['from']))
? (float)$value['from'] / $rate
: '';
$value['to'] = (isset($value['to']) && is_numeric($value['to']))
? (float)$value['to'] / $rate
: '';
else
Then, Clear cache and Check it let me know if you have issue.
edited Sep 1 '17 at 3:36
answered Sep 1 '17 at 3:00
Rajkumar .ERajkumar .E
1,78551645
1,78551645
1
How to add Layered navigation on Custom Product Collection? I am displaying products by brand using custom controller.
– Magecode
Sep 1 '17 at 4:53
add a comment |
1
How to add Layered navigation on Custom Product Collection? I am displaying products by brand using custom controller.
– Magecode
Sep 1 '17 at 4:53
1
1
How to add Layered navigation on Custom Product Collection? I am displaying products by brand using custom controller.
– Magecode
Sep 1 '17 at 4:53
How to add Layered navigation on Custom Product Collection? I am displaying products by brand using custom controller.
– Magecode
Sep 1 '17 at 4:53
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- 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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f191471%2fmagento-2-layered-navigation-on-advanced-search-result-page%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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