在我的Magento安装中,我有一个下拉菜单,它是从我的'Categories'中的Products类别生成的。 它使用代码: <?php echo $this->getChildHtml('topMenu') ?>
来显示菜单。在Magento中添加静态链接到顶部导航菜单
但是,在一定的时间间隔内,我想添加一个静态HTML链接(带有超链接的列表项)到菜单中。
我该如何做到这一点?
任何指针
在我的Magento安装中,我有一个下拉菜单,它是从我的'Categories'中的Products类别生成的。 它使用代码: <?php echo $this->getChildHtml('topMenu') ?>
来显示菜单。在Magento中添加静态链接到顶部导航菜单
但是,在一定的时间间隔内,我想添加一个静态HTML链接(带有超链接的列表项)到菜单中。
我该如何做到这一点?
任何指针
如何添加Magento的顶部菜单的超链接的标题标签 打开文件,并查找代码
$的HTML =“的getURL ()。 '''。$ outermostClassCode。'>' 。$ this-> escapeHtml($ child-> getName())。'';
app/code/core/Mage/Page/Block/Html/Topmenu。 php
$ html。='getUrl()。'“'。 $ outermostClassCode。 'title ='' 。$ this-> escapeHtml($ child-> getName())。'“>' 。 $ this-> escapeHtml($ child-> getName())。 '';
你可以试试这个方法。我认为这种方式比其他方式更合适。
http://www.atwix.com/magento/how-to-add-a-new-item-to-the-navigation-menu/
虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 – fancyPants 2014-07-24 08:33:00
感谢您的评论@fancyPants。我会更新我的答案。 – 2014-07-24 09:38:33
有几个方法可以做到这一点,你可以重写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>';
第一种方法为前端开发人员提供了更多的灵活性,而不是在课堂上对其进行硬编码。
你也可以通过这种方法实现一些严肃的操作,比如添加图像到菜单中,我使用类似的东西来实现菜单中的“精选产品”功能。
在当前版本的Magento的,你可以通过创建一个新的类别,然后重定向该类别你想要的任何URL(CMS页面,产品页面,离线等)
您现在应该能够去前端并在菜单中看到新的类别。点击它将直接转到您提供的链接。我比其他人更喜欢这种方法,因为它可以更好地控制静态链接的放置位置,并允许您在子菜单中放置静态链接的菜单项。
这段视频展示了Magento Go的分步技术,但这个过程对于所有Magento风格都是一样的。 http://www.youtube.com/watch?v=5rSIQlRC8Xk
对SEO来说是不错的选择?我的意思是说,你将有2个不同的链接在指向同一页面的网站地图中... – WonderLand 2014-05-02 12:26:52
是的,对于seo不是很好 – 2014-11-13 15:19:47
很高兴知道...我绝对不会使用Magento。 – 2015-08-25 14:10:12
您可以使用自定义链接在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>
我觉得这是最简单的方法。
问题是关于顶部导航而不是top.menu链接 – aimiliano 2016-10-26 14:49:34
虽然这可能在理论上回答这个问题,但[这将是更可取的](http://meta.stackexchange.com/q/8259)在这里包含答案的重要部分,并提供供参考的链接。 – 2013-01-27 15:29:25
该页面不再存在... – Howli 2015-07-27 11:45:56
浪费完美的答案 – Impulss 2015-07-28 01:23:53