Magento: Layered Navigation on Advanced Search Results

為{幸葍}努か 提交于 2019-12-10 22:41:19

问题


I need to show the layered navigation filters on the Magento advanced search results page, just like it does on the catalogsearch results page.

I have already moved the XML block as needed into catalogsearch_advanced_result:

<reference name="left">
<block type="catalogsearch/layer" name="catalogsearch.leftnav" template="catalog/layer/view.phtml"/>
</reference>

The block is called, but nothing shows up. I have traced through the core files and found that in Catalog/Block/Layer/View.php this function doesn't return any attributes (line 161):

protected function _getFilterableAttributes()
{
    $attributes = $this->getData('_filterable_attributes');
    if (is_null($attributes)) {
        $attributes = $this->getLayer()->getFilterableAttributes();
        $this->setData('_filterable_attributes', $attributes);
    }

    return $attributes;
}

I traced getFilterableAttributes() into the Catalog/Model/Layer.php file, but from this point it becomes difficult to work out where the difference between catalogsearch and advanced search is.

I basically just want to get this working in any way possible. Any help or guidance would be much appreciated!

EDIT:

My product attributes are set up correctly as below:


回答1:


Hey I have succeeded in bringing the layered navigation in advanced search page. Perform following steps: Step 1: In catalogsearch.xml update like below
`

    <label>Advanced Search Result</label>
    <update handle="page_two_columns_right" />
    <!-- Mage_Catalogsearch -->
    <reference name="root">
        <action method="setTemplate"><template>page/3columns.phtml</template></action>
    </reference>
    <reference name="left">
        <block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
    </reference>`

Step 2: Clear your cache and you are good to go.

Now for getting filter worked you have do some modification in the in request url e.g. in advanced search price filter goes like this price[from]=1&price[to]=100 instead of price=1,100



来源:https://stackoverflow.com/questions/13248461/magento-layered-navigation-on-advanced-search-results

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!