在窗口小部件/横幅显示下方移动分层导航

时间:2012-08-23 17:45:34

标签: magento magento-1.7

我在EE上,但我相信CE的问题是一样的。我想做的事情似乎很简单。我希望类别页面左侧导航中的所有横幅都显示在过滤器导航上方。我试过的是通过添加after =“ - ”调用来更改XML文件(在EE的情况下为search.xml,在CE的情况下为catalog.xml)。

<catalog_category_layered>
    <reference name="left">
        <remove name="catalog.leftnav"/>   
        <block type="enterprise_search/catalog_layer_view" name="enterprisecatalog.leftnav" template="catalog/layer/view.phtml" after="-" />  
    </reference>
</catalog_category_layered>

然而,这并没有改变任何东西,横幅仍然在分层导航下面加载。

如果我在“所有页面”的左栏中设置要加载的窗口小部件,它将在列的顶部正确加载。此解决方案是不合需要的,因为它还在主页上加载小部件。我们只希望这会影响类别页面。

我还可以一起删除XML块并将其作为横幅加载到窗口小部件中,这样我就可以将它放在左列的任何位置。这也是不合需要的,因为当选择分层导航选项时,它会破坏我们对页面的AJAX加载。

小部件/横幅广告块是否有名称,所以我可以在XML中指出=“widget.banner.block.name”?

2 个答案:

答案 0 :(得分:0)

我发现这样做的唯一方法是使用JQuery在加载后推送包含分层导航上方横幅的Widget。

//Move Category Widget zone above the layered navigation
jQuery(".catalog-category-view .col2-left-layout .col-left .widget").insertBefore(jQuery(".catalog-category-view .col2-left-layout .col-left .block-layered-nav"));

答案 1 :(得分:-1)

您应该给出您的块名称,然后按照您的意愿订购它们:

<block type="whatever" name="something" as="something" 
    template="bla.phtml" before="-" />

<block type="whatever" name="something_else" as="something_else" 
    template="bla.phtml" after="something" />

<block type="whatever" name="something_new" as="something_new" 
    template="bla.phtml" after="something_else" />

如果您想在主页的所有页面APART上显示小部件,您可以将其设置为在所有页面上显示,然后仅从主页中删除:

1)转到CMS - &gt;页面,然后编辑主页

2)向页面添加布局更新,并专门删除小部件块:

<reference name="left">
    <action method="unsetChild"><alias>child_block_name</alias></action>
</reference>