magento顶部链接更改

时间:2012-03-08 09:42:04

标签: magento magento-1.5

我是Magento的新手。我在Magento下载了一个主题并尝试更改顶部链接。我无法跟踪文件。如何更改Magento主题中的顶部链接。

enter image description here

17 个答案:

答案 0 :(得分:5)

您需要编辑两个文件......

  1. app/design/frontend/default/default/layout/checkout.xml
  2. app/design/frontend/default/default/layout/customer.xml
  3. 您会在这些文件中看到链接被添加为name="top.links" - 您只需要使用评论标记对其进行评论

    希望这会对你有所帮助。

    由于

答案 1 :(得分:3)

你必须有点像Sherlock Holmes。 由于您可以在主题的布局文件page.xml中找到的块生成顶部链接。然后在标题栏中搜索块名称“topLinks”(在默认主题中,它是名称),您将找到<block type="page/template_links" name="top.links" as="topLinks"/>。由于块类Mage_Page_Block_Template_Links,生成了此块topLinks。此块中的重要方法是public function addLink(...),这意味着您必须在xml布局中搜索以下元素/标记<action method='addLink'>...</action>

客户模块的示例,位于布局文件夹的文件customer.xml中:

    <reference name="top.links">
        <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
    </reference>

你应该找到多个使用这种方法的xml元素。 注意,addLink方法也可以通过编程方式调用(到PHP代码中),而不仅仅是在布局文件中。

希望有所帮助

答案 2 :(得分:3)

热门链接包括:登录/退出,我的帐户,我的心愿单,我的购物车和结帐链接。 顶级链接和常规静态链接之间最重要的区别之一是,当您将产品添加到购物车或愿望清单时,顶部链接会自动记录添加的产品。 标头中默认Magento主题中的顶部链接示例。 在Magento中使用Top链接 编辑Magento中的标题链接很简单。首先,我们必须调用块。

<?php echo $this->getChildHtml('topLinks'); ?>

在模板模板/ page / html / header.phtml中,但在page.xml中创建

<block type="page/html_header" name="header" as="header">
    <block type="page/template_links" name="top.links" as="topLinks"/>
    <block type="core/text_list" name="top.menu" as="topMenu"/>
</block>

现在我们需要使用以下命令添加指向此块的链接:

<action method="addLink" translate="label title" >...</action>

我们在以下XML文件中创建:
登录/退出,我的帐户 - customer.xml
我的购物车和结帐 - checkout.xml
我的心愿单 - wishlist.xml

应该注意,通过以下命令链接到我的购物车:

<action method="addCartLink"></action>
<action method="addCheckoutLink"></action>

如果您想更改Magento顶部链接,您需要知道所有顶部链接都基于位于此处的模板:page / template / links.phtml。在这里,您可以添加其他类或提交所需的更改。

人们常常想要使用单独的链接。例如,登录/注销和我的帐户应位于左侧,我的愿望清单,我的购物车和结帐位于右侧。

以下示例中的内容 这很容易做到:

打开page.xml并在那里创建另一个块,几乎与“topLinks”相同,但名称为“topLinksLeft”;

<block type="page/html_header" name="header" as="header">
    <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"/>
    <block type="page/template_links" name="top.links" as="topLinks"/>
    <block type="page/template_links" name="top.links.left" as="topLinksLeft"/>
</block>

在模板模板/ page / html / header.phtml的帮助下:

<?php echo $this->getChildHtml('topLinksLeft'); ?>

我们可以在正确的位置调用我们的块

<div>
    <h1 id="logo" title="<?php echo $this->getLogoAlt() ?>" style="background-image:url(<?php echo $this->getLogoSrc() ?>);"><a href="<?php echo $this->getUrl('') ?>"><?php echo $this->getLogoAlt() ?></a></h1>
    <div><?php echo $this->getChildHtml('topLinksLeft') ?></div>
    <?php echo $this->getChildHtml('topLinks') ?>
    <?php echo $this->getChildHtml('topMenu') ?>
</div>

完成此操作后,打开customer.xml,我们必须更改负责登录/注销的块的名称,我的帐户。我们正在“top.links.left”的“top.links”中更改其名称,例如:

<customer_logged_in>
    <reference name="top.links.left">
        <action method="addLink" translate="label title" module="customer">
            <label>My Account</label>
            <url helper="customer/getAccountUrl"/>
            <title>My Account</title>
            <prepare/>
            <urlParams/>
            <position>10</position>
        </action>
    </reference>
    <reference name="top.links.left">
        <action method="addLink" translate="label title" module="customer">
            <label>Log Out</label>
            <url helper="customer/getLogoutUrl"/>
            <title>Log Out</title>
            <prepare/>
            <urlParams/>
            <position>100</position>
        </action>
    </reference>
</customer_logged_in>

我们还可以将其他模板分配给左侧的链接(在某些情况下非常有用)为此我们只需复制模板“page / template / links.phtml”并将其命名为links_left.phtml。所以现在我们有两个模板“links.phtml”用于右侧,“links_left.phtml”用于左侧。现在我们需要做的就是连接它。对于连接,我们使用块«topLinksLeft»page.xml并将其更改为links_left.phtml。

<block type="page/html_header" name="header" as="header">
    <block type="page/template_links" name="top.links" as="topLinks"/>
    <block type="page/template_links" name="top.links.left" as="topLinksLeft" template="page/template/links_left.phtml"/>
</block>

现在,您可以为左侧和右侧应用不同的样式和HTML。

哇,差点忘了“注册”按钮,它通常位于“登录/注销”按钮附近。不用担心这一点。正如您已经猜到的那样,我们从客户开始。我们接下来要做的xml文件,如果我们想在顶部链接中添加“注册”按钮:

<customer_logged_out>
    <reference name="top.links">
        <action method="addLink" translate="label title" module="customer">
            <label>Log In</label>
            <url helper="customer/getLoginUrl"/>
            <title>Log In</title>
            <prepare/>
            <urlParams/>
            <position>100</position>
        </action>
        <action method="addLink" translate="label title" module="customer">
            <label>register</label>
            <url helper="customer/getRegisterUrl"/>
            <title>register</title>
            <prepare/>
            <urlParams/>
            <position>10</position>
        </action>
    </reference>
</customer_logged_out>

现在您可以更改Magento顶部链接:例如,将“注册”按钮添加到标题中,或者如果需要,甚至可以从顶部链接中删除“登录”。

答案 3 :(得分:2)

请在主题文件夹下创建local.xml,然后尝试通过url键删除顶部链接。请将以下代码粘贴到local.xml中。

<default>
  <reference name="top.links"> 
    <action method="removeLinkByUrl">
      <url helper="checkout/url/getCartUrl" />
    </action> 
  </reference>
</default>

感谢。

答案 4 :(得分:2)

热门链接主要来自.phtml文件,但我们建议您删除此.XML文件的最佳方法。在XML文件搜索&#34; top.links&#34;文字&amp;此文本分配引用名称,以便您可以从.XML文件(布局文件)中删除所有链接

示例:

&#13;
&#13;
<reference name="top.links">
        <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
</reference>
&#13;
&#13;
&#13;

答案 5 :(得分:2)

app\design\frontend\{namespace}\{yourtheme}\template\page

在这里你可以找到你的header.phtml,footer.phtml和body layout

答案 6 :(得分:1)

  

你可以通过编辑参考名称=&#34; top.links&#34;来修改它。阻止   以下.xml文件

     
      
  1. 应用程序/设计/前端/ Your_theme /默认/布局/ checkout.xml

  2.   
  3. 应用程序/设计/前端/ Your_theme /默认/布局/ customer.xml

  4.   

检查以下帖子

有关信息,请访问以下网址: - https://www.templatemonster.com/help/magento-how-to-edit-header-links-2.html#gref

答案 7 :(得分:1)

从magento管理面板启用开发者模式

从admin

获得system-&gt;配置

然后左侧边栏的最后一个菜单选择当前配置范围: 和ADVANCED-&gt; DEVELOPER-&gt; DEBUG-&gt;模板路径提示为是

然后转到前端,它将显示所有模板路径 遵循给定的模板路径并更改您想要的任何内容

并且不要忘记禁用开发者模式

答案 8 :(得分:0)

如果您想知道文件loacation,那么您可以使用magento默认模板路径提示功能。检查以下URL。

http://excellencemagentoblog.com/blog/2011/09/07/magento-template-path-hints-magento/

答案 9 :(得分:0)

如果您删除/更改特定链接而非goto特定文件,例如,如果您要更改我的帐户链接,请转到yourtheme-&gt; layout-&gt; customer.xml(如果不存在),而不是goto base-&gt; layout-&gt; customer .XML

查找<reference name="top.links">删除/更新。

答案 10 :(得分:0)

您可以在模板路径上并相应地更改此文件: - 系统&gt;配置&gt;开发人员&gt;模板路径提示&#39;是&#39; 你也会得到块信息

答案 11 :(得分:0)

这不需要代码。

转到系统 - 配置 - 常规 - 设计 - 标题并更改“欢迎文本”

答案 12 :(得分:0)

在这种情况下,模板提示是您最好的朋友。如果您使用的是终端,请运行:

n98-magerun.phar dev:template-hints

然后选择您当前使用的商店视图,然后按Enter键。如果您对终端不太满意,也可以在管理员中激活它们:

System > Configuration > Developer > Template Path Hints 'YES'

注意:确保您位于右侧的“当前配置范围”。如有必要,您可以在左上角的下拉列表中修改此项。

然后刷新前端,复制文件路径并搜索文件。宾果

答案 13 :(得分:0)

使用模板路径提示,您可以轻松找到模板路径文件。 登录管理平台并在

  • 系统 - &gt;构造
  • 将“配置范围”更改为“默认商店视图”(或您要查看模板路径的商店视图)
  • 在左侧菜单中的高级下单击开发人员
  • 点击“调试”以展开该部分
  • 将“模板路径提示”更改为“是”
  • 单击“保存配置”

现在,您只需刷新商店的前端一次,即可看到以红色显示的模板路径。此模板路径提示将让您知道哪个块负责显示特定部分。

完成编辑后,不要忘记隐藏模板路径。

答案 14 :(得分:0)

无需更改任何源代码。

第1步:登录管理面板。

第2步:转到目录&gt;从顶部导航管理类别

第3步:点击“添加子类别&#39;

第4步:转到&#39;显示设置&#39;选项卡,设置&#39;显示模式&#39;选择框值为“仅静态阻止”&#39; (在CMS&gt; Static Block下创建静态块)

步骤5:使用必填字段保存类别。

答案 15 :(得分:0)

很难回答你的问题,因为有些主题往往会移动文件并做一些古怪的事情。尝试切换模板提示,这将显示正在呈现的模板在文件系统中的位置。

http://help.sweettoothrewards.com/article/434-how-do-i-turn-on-template-path-hints

&#34;布局XML&#34;可能会成为&#34; Magento Way&#34;将链接插入到该块中,要​​引用的块将是top.links。

粗略的谷歌搜索产生了一个有点过时但仍然相关的文章关于做你想做的事情。

http://excellencemagentoblog.com/blog/2011/09/07/magento-add-top-links-in-magento/

请注意如何扩展和修改主题以及Magento基本主题。您最终可以为下一个开发人员创建大量额外工作。

我鼓励您在进行许多修改之前研究Magento主题回滚系统。

答案 16 :(得分:-1)

第1步:登录magento admin
第二步:进入目录
第三步:去管理类别
step4:他们是主题的顶级链接,然后你可以编辑链接