Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将静态链接添加到Magento中的顶部导航菜单_Php_Magento - Fatal编程技术网

Php 将静态链接添加到Magento中的顶部导航菜单

Php 将静态链接添加到Magento中的顶部导航菜单,php,magento,Php,Magento,在我的Magento安装中,我有一个从我的“类别”中的产品类别生成的下拉菜单。 它使用以下代码: 以显示菜单 但是,在某些时间间隔,我想在菜单中添加一个静态HTML链接(带有超链接的列表项) 我如何做到这一点 非常感谢您的指点以下是您的答案:如何添加magento顶部菜单超链接标题标签 打开文件并查看代码 $html.='getUrl()。'“'.$outermostclassecode.'>” .$this->escapeHtml($child->getName())。' app/code/c

在我的Magento安装中,我有一个从我的“类别”中的产品类别生成的下拉菜单。 它使用以下代码:
以显示菜单

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

我如何做到这一点


非常感谢您的指点

以下是您的答案:

如何添加magento顶部菜单超链接标题标签 打开文件并查看代码

$html.='getUrl()。'“'.$outermostclassecode.'>” .$this->escapeHtml($child->getName())。'

app/code/core/Mage/Page/Block/Html/Topmenu.php

$html.='getUrl()'。“'。”$最外层的类代码title=“” .$this->escapeHtml($child->getName())。“>”
. $这->escapeHtml($child->getName())。'

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


有几种方法可以做到这一点,您可以重写Mage\u Catalog\u Block\u导航来实现这一点

在RenderCategoriesMemuHTML函数中,您可以使用计数器在foreach循环中的不同位置捕捉它并渲染块:

if ($j == 1) {
    $html .= $this->getLayout()->createBlock('namespace/yourmodule')->setTemplate('topMenu/link.phtml')->toHtml();
}
或者按如下方式渲染链接:

$html .= '<a href="yourlink.php">Link Name</a>';
$html.='';
第一种方法为前端开发人员提供了更多的灵活性,而不是在类中硬编码


您还可以通过这种方法执行一些严重的操作,例如将图像添加到菜单中,我使用了类似的方法来实现菜单中的“特色产品”功能。

在当前版本的Magento中,您可以创建一个新类别,然后将该类别重定向到您想要的任何URL(CMS页面、产品页面、场外等)

  • 创建新的子类别。将其命名为您希望它在菜单中显示的方式。确保它具有唯一的URL键,处于活动状态,并且处于“导航菜单”中。您可以通过将其在类别菜单中的位置拖放到要显示的位置来更改其显示位置
  • 进入URL重写管理。您的新类别应该是刚刚创建的顶级系统链接。如果不是,请按新类别的id号筛选表。进入此新重定向
  • 将重定向更改为永久并复制目标路径。下一步需要此重定向。保存更改
  • 使用以下选项创建新的自定义URL重定向并保存
    • 商店:此应用的商店。必须与您正在重定向的类别的商店匹配
    • ID路径:您希望类别指向的URL。(即礼品卡)
    • 请求路径:将从上一步复制的目标路径粘贴到此处
    • 目标路径:您希望类别指向的URL。(即礼品卡)
    • 重定向:设置为永久301
  • 转到索引管理并刷新目录URL重写(如果需要)
  • 您现在应该可以转到前端并在菜单中看到新类别。单击它将直接重定向到您提供的链接。我更喜欢此方法,因为它可以更好地控制静态链接的放置位置,并允许您在子菜单中放置静态链接的菜单项

    这段视频一步一步地展示了Magento Go的这项技术,但所有口味的Magento的过程都是一样的。

    您可以使用自定义链接在
    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>
    
    
    新链接
    我的网址
    新链接
    真的
    60
    

    我认为这是最简单的方法。

    虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。上面的链接进入主页我部分地责怪网站所有者-他们应该是301-ing吗?:)这是搜索引擎优化的一个好选择吗?我的意思是,你将有2个不同的链接在网站地图,指向同一页…很高兴知道。。。我绝对不会使用Magento。虽然这个链接可以回答这个问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会无效。谢谢您的评论@fancyPants。我将更新我的答案。问题是关于顶部导航,而不是顶部菜单链接