编辑Magento顶级链接的最佳实践方法
-
16-10-2019 - |
题
假设我们想在Magento的顶部链接上的“我的购物车”链接之前添加购物车图标(请参见下面的顶部链接)。
做这个的最好方式是什么?
- 做一些toplinks.php?
- 做点什么链接。phtml?
- XML文件?
- 还有其他选择吗?
我了解这可以使用CSS来完成,但是随着我对自定义的需求的增长,我想知道没有CSS可以做到这一点,以便我能够自定义更困难的事情。
解决方案
无论如何,请勿编辑模板文件(links.phtml
)。这是所有链接列表的一般模板。例如,它也用于页脚中的链接。
和 toplinks.php
您可以做任何您想做的事,因为自CE v1.4.0.1以来被弃用。
我建议使用将链接添加到顶部容器中的XML文件以实现所需的目标。
这 addLink
添加新链接时调用的方法支持一些参数,使您可以添加类和其他属性 li
和 a
链接中的标签和链接之前和链接之后的一些文本。
public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(),
$position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
{ ... }
如果要在我的帐户菜单中添加图标,则可以设置 $beforeText
至 <span class="icon"></span>
并在图标类上添加一些样式。
对于购物车和结帐链接,这有点棘手,因为它们是通过不直接从布局文件中的块对象添加的。
如果您需要一些不同的东西来推车或结帐lin,那么您要做的就是覆盖方法 Mage_Checkout_Block_Links::addCartLink()
或者 Mage_Checkout_Block_Links::addCheckoutLink()
. 。这2个称呼相同 addLink()
您可以将不同的参数传递给它。
其他提示
如果您只需要将自定义模板应用于顶级链接,则可以在主题的local.xml中这样做:
<default>
<reference name="top.links">
<action method="setTemplate">
<template>page/template/my_links.phtml</template>
</action>
</reference>
<default>
然后复制 页面/模板/链接。phtml 并将其重命名为 页/模板/my_links.phtml 并在该新模板文件中执行您需要的任何您需要的事情。
要通过local.xml添加自定义链接到顶部链接:
<reference name="top.links">
<action method="addLink" translate="label title">
<label>My Link</label>
<url>path/to/page</url>
<title>My link tooltip</title>
<prepare>true</prepare>
<urlParams/>
<position>150</position>
<liParams>id="my-custom-id"</liParams>
</action>
</reference>
另请参阅此页面: http://www.classyllama.com/development/magento-development/editing-magentos-top-links-the-better-way
请找到更改顶级链接的途径:
/app/design/frontend/base/default/layout/customer.xml
并搜索:登录(就我而言)。
现在,用您想要的文本更改标题并标记。
您需要编辑以下2个文件。
app/design/frontend/default/default/layout/checkout.xml
app/design/frontend/default/default/layout/customer.xml
在这些文件中,链接添加在 name="top.links"
. 。只需评论他们即可。