在我的Magento安装中,我有一个下拉菜单,该菜单是从我的'Categories'中的Products类别生成的。
它使用代码:
<?php echo $this->getChildHtml('topMenu') ?>
显示菜单。
但是,在某些时间间隔内,我想在菜单中添加一个静态HTML链接(带有超链接的列表项)。
我如何实现这一目标?
非常感谢任何指针
答案 0 :(得分:8)
在当前版本的Magento中,您可以通过创建新类别然后将该类别重定向到您想要的任何URL(CMS页面,产品页面,非现场等)来实现此目的。
您现在应该可以转到前端并在菜单中查看新类别。点击它会直接重定向到您提供的链接。我更喜欢这种方法,因为它可以让你更好地控制静态链接的放置位置,并允许你在子菜单中放置一个静态链接的菜单项。
此视频逐步展示了Magento Go的这项技术,但对于所有口味的Magento来说,这个过程都是一样的。 http://www.youtube.com/watch?v=5rSIQlRC8Xk
答案 1 :(得分:4)
答案 2 :(得分:1)
有几种方法可以做到这一点,你可以重写Mage_Catalog_Block_Navigation来实现这一目标。
在renderCategoriesMenuHtml函数中,您可以使用计数器在foreach循环中的各个位置捕获它并渲染块:
if ($j == 1) {
$html .= $this->getLayout()->createBlock('namespace/yourmodule')->setTemplate('topMenu/link.phtml')->toHtml();
}
或者按字面意思渲染链接:
$html .= '<a href="yourlink.php">Link Name</a>';
第一种方法为前端开发人员提供了更多的灵活性,而不是在课堂上对其进行硬编码。
你也可以通过这种方法实现一些严肃的操作,例如在菜单中添加图像,我使用类似的东西在菜单中实现“特色产品”功能。
答案 3 :(得分:-1)
如何添加magento顶级菜单超链接标题标记 打开文件并查看代码
$ html。='getUrl()。 ''''$ outermostClassCode。'&gt;' 。 $ this-&gt; escapeHtml($ child-&gt; getName())。 '';
应用程序/代码/核心/法师/页/块/ HTML / Topmenu.php
$ html。='getUrl()。 ''''$ outermostClassCode。'title =“' 。 $ this-&gt; escapeHtml($ child-&gt; getName())。 '“&GT;' 。 $ this-&gt; escapeHtml($ child-&gt; getName())。 '';
答案 4 :(得分:-1)
您可以使用自定义链接在top.menu
内创建一个块。将其添加到主题的local.xml
文件中:
<reference name="header">
<reference name="top.menu">
<block type="page/template_links" name="top.menu.custom-links">
<action method="addLink" translate="label title">
<label>New Link</label>
<url>my-url</url>
<title>New Link</title>
<prepare>true</prepare>
<urlParams helper="core/url/getHomeUrl"/>
<position>60</position>
</action>
</block>
</reference>
</reference>
我认为这是最简单的方法。