目前我想在菜单选项卡上添加一个新的菜单链接,但是可以在不更改其他模块模板的情况下完成,但只需在我的模块中添加?我想这样做的原因是因为我希望当我禁用我的模块时,菜单链接也将消失。
page.xml(其他模块布局文件)
<block type="page/html_header" name="header" as="header">
<block type="page/template_links" name="top.links" as="topLinks"/>
<block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
<block type="core/text_list" name="top.menu" as="topMenu" translate="label">
<label>Navigation Bar</label>
<block type="page/html_topmenu" name="catalog.topnav" template="page/html/topmenu.phtml"/>
</block>
<block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
<label>Page Header</label>
<action method="setElementClass"><value>top-container</value></action>
</block>
</block>
referral.xml(我的模块) ??? 我该怎么办?
topmenu.phtml
<?php $_menu = $this->getHtml('level-top') ?>
<?php if($_menu): ?>
<div class="nav-container">
<ul id="nav">
<?php $active = is_numeric(stripos($_SERVER['REQUEST_URI'], 'aboutus')) ? 'active' : ''; ?>
<li class="level0 nav-2 last level-top <?php echo $active; ?>">
<a class="level-top" href="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>aboutus">
<span>About Us</span>
</a>
</li>
<?php echo $_menu ?>
<?php $active = is_numeric(stripos($_SERVER['REQUEST_URI'], 'redemption/store')) ? 'active' : ''; ?>
<li class="level0 nav-2 last level-top <?php echo $active; ?>">
<a class="level-top" href="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>redemption/store">
<span>Redemption Store</span>
</a>
</li>
答案 0 :(得分:0)
对我来说,这看起来像是一个自定义导航,没有办法将项目添加到主导航(无论如何都没有类别项目)。
默认情况下它只会显示类别,所以你的看起来可能很难编码到模板中。
使用了很多模块和主题后,如果它是一个自定义主题,并且可以通过XML配置或管理选项添加链接,我会非常惊讶。
你可以为我发布topmenu.phtml文件中的一些代码,然后我可以为你提供最好的动作。
答案 1 :(得分:0)
为此,您必须在自定义模块中编写Navigation类,该类将扩展Mage_Catalog_Block_Navigation
,该类是您需要在本地导航类中覆盖的函数(renderCategoriesMenuHtml
)。
但问题是,实时用户大多有不同的主题,他们改变了类等,这可能会在设计实现中产生冲突。