2012-04-11 167 views
5

在我的Magento安装中,我有一个下拉菜单,它是从我的'Categories'中的Products类别生成的。 它使用代码: <?php echo $this->getChildHtml('topMenu') ?>来显示菜单。在Magento中添加静态链接到顶部导航菜单

但是,在一定的时间间隔内,我想添加一个静态HTML链接(带有超链接的列表项)到菜单中。

我该如何做到这一点?

任何指针

回答

4
+21

虽然这可能在理论上回答这个问题,但[这将是更可取的](http://meta.stackexchange.com/q/8259)在这里包含答案的重要部分,并提供供参考的链接。 – 2013-01-27 15:29:25

+7

该页面不再存在... – Howli 2015-07-27 11:45:56

+3

浪费完美的答案 – Impulss 2015-07-28 01:23:53

-1

如何添加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())。 '';

3

你可以试试这个方法。我认为这种方式比其他方式更合适。

http://www.atwix.com/magento/how-to-add-a-new-item-to-the-navigation-menu/

+1

虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 – fancyPants 2014-07-24 08:33:00

+0

感谢您的评论@fancyPants。我会更新我的答案。 – 2014-07-24 09:38:33

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>'; 

第一种方法为前端开发人员提供了更多的灵活性,而不是在课堂上对其进行硬编码。

你也可以通过这种方法实现一些严肃的操作,比如添加图像到菜单中,我使用类似的东西来实现菜单中的“精选产品”功能。

8

在当前版本的Magento的,你可以通过创建一个新的类别,然后重定向该类别你想要的任何URL(CMS页面,产品页面,离线等)

  1. 创建一个新的子目录做到这一点。将其命名为您希望它在菜单中显示的方式。确保它有一个唯一的URL键,它是活动的,它是“在导航菜单”。您可以通过将它在类别菜单中的位置通过拖放拖放到您希望显示的位置来更改它显示的位置。
  2. 进入URL重写管理。您的新类别应该是刚创建的顶级系统链接。如果不是,则使用新类别的ID号过滤表格。进入这个新的重定向。
  3. 将重定向更改为永久并复制目标路径。下一步你将需要这个。保存您的更改。
  4. 使用以下选项创建一个新的自定义URL重定向,并保存它
    • 存储:这适用于商店。必须与要重定向的类别的商店相匹配
    • ID路径:您希望类别转到的URL。 (即礼品卡)
    • 请求路径:粘贴从上一步复制的目标路径
    • 目标路径:您希望类别转到的URL。 (即礼品卡)
    • 重定向:设置为永久301
  5. 转到索引管理和刷新你的目录URL重新写入(如果需要)

您现在应该能够去前端并在菜单中看到新的类别。点击它将直接转到您提供的链接。我比其他人更喜欢这种方法,因为它可以更好地控制静态链接的放置位置,并允许您在子菜单中放置静态链接的菜单项。

这段视频展示了Magento Go的分步技术,但这个过程对于所有Magento风格都是一样的。 http://www.youtube.com/watch?v=5rSIQlRC8Xk

+1

对SEO来说是不错的选择?我的意思是说,你将有2个不同的链接在指向同一页面的网站地图中... – WonderLand 2014-05-02 12:26:52

+0

是的,对于seo不是很好 – 2014-11-13 15:19:47

+0

很高兴知道...我绝对不会使用Magento。 – 2015-08-25 14:10:12

-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> 

我觉得这是最简单的方法。

+0

问题是关于顶部导航而不是top.menu链接 – aimiliano 2016-10-26 14:49:34

相关问题