在我的类别列表页面上,我的左侧菜单上有一个带有两个链接的静态块:
1)类别列表页面链接 2)CMS页面的详细信息。
CMS的详细信息页面也会在其左侧菜单上调用完全相同的静态块。
我的问题:
Magento如何在链接的静态块中知道它在列表页面或cms页面上,并在链接中添加一个“active”类,以便我们可以更改“活动”页面的CSS样式正在观看?
我对另一种方法持开放态度,然后我现在已经设置了,如果这使得它更易于管理。
谢谢!
编辑1
链接块(grc_sidebar_links)
<div class="arrow"><a href="/category/a.html">Category A</a></div>
<div class="arrow"><a href="/cata-specs">Specs and Pricing</a></div>
补充工具栏的html(grc_sidebar_spec_summary):
<div class="sidebar_top">{{block type="cms/block" block_id="grc_sidebar_links"}}</div>
然后在该类别中,我对页面进行了以下布局更新:
<reference name="left">
<block type="cms/block" name="block_sidebar_top" before="-">
<action method="setBlockId"><block_id>grc_sidebar_spec_summary</block_id></action>
</block>
</reference>
然后在CMS页面中,我有以下布局更新:
<reference name="left">
<block type="cms/block" name="block_sidebar_top">
<action method="setBlockId"><block_id>grc_sidebar_spec_summary</block_id></action>
</reference>
答案 0 :(得分:1)
通常,您应该按块类生成链接列表。要了解这一点,请查看 app / design / frontend / base / default / template / catalog / navigation / left.phtml 以及相应的块类。
在app /../ default / layout / catalog.xml中,您可以找到以下条目:
<catalog_category_default translate="label">
<label>Catalog Category (Non-Anchor)</label>
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
</reference>
在块节点内定义块类和模板文件路径。 type属性告诉Magento在哪里找到块类。所以目录/导航指向 app / code / core / Mage / catalog / Block / Navigation.php
getCurrentChildCategories方法生成所有子类别链接的数组,并定义活动链接。
我希望这会对你有所帮助。