Magento 2 – Layered Navigation in Advanced Search Result

advanced-searchfilterlayered-navigationmagento2

How can I add Layered Navigation in Advance Search result page(2 Column Left layout)?

How can I dot it?

Best Answer

Override catalogsearch_advanced_index.xml in your theme

From

vendor/magento/module-catalog-search/view/frontend/layout/catalogsearch_advanced_index.xml

To

app/design/frontend/Vendor/theme/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml

Now change layout 1column to 2columns-left

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">

Now add container sidebar.main with left navigation block

Your final catalogsearch_advanced_index.xml like this

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <title>Advanced Search</title>
    </head>
    <update handle="page_calendar"/>
    <body>
        <referenceContainer name="sidebar.main">
            <block class="Magento\LayeredNavigation\Block\Navigation\Category" name="catalog.leftnav" before="-" template="layer/view.phtml">
            <block class="Magento\LayeredNavigation\Block\Navigation\State" name="catalog.navigation.state" as="state" />
            <block class="Magento\LayeredNavigation\Block\Navigation\FilterRenderer" name="catalog.navigation.renderer" as="renderer" template="layer/filter.phtml"/>
            </block>
        </referenceContainer>
        <referenceContainer name="content">
            <block class="Magento\CatalogSearch\Block\Advanced\Form" name="catalogsearch_advanced_form" template="advanced/form.phtml"/>
            <block class="Magento\Framework\View\Element\Html\Calendar" name="html_calendar" as="html_calendar" template="Magento_Theme::js/calendar.phtml"/>
        </referenceContainer>
    </body>
</page>

Same way you need to override

1) catalogsearch_advanced_result.xml and

2) catalogsearch_result_index.xml

Related Topic