Magento 如何在顶部链接中添加类?

Magento 如何在顶部链接中添加类?,magento,Magento,我试图通过使用class=“class name”将类添加到顶部链接 例如: <reference name="top.links"> <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Ac

我试图通过使用
class=“class name”

将类添加到顶部链接 例如:

<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/><aParams>class="top-link-myaccount"</aParams><position>10</position></action>
</reference>

我的账户我的账户class=“顶级链接我的账户”10
至少在1.7.0.0版本中,上述技巧对我不起作用。
有什么想法吗

编辑:
我想我用
  • class=“top links register”
  • 修复了它:

    
    我的账户我的账户10
  • class=“顶级链接我的账户”

  • 请注意,您必须在前面添加
  • 正如您所发现的,addLink的方法签名是:

    public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(), $position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
    
    因此,在布局中使用所有参数的正确调用应该是:

    <action method="addLink">
        <label/>
        <url/>
        <title/>
        <prepare/>
        <urlParams/>
        <position/>
        <liParams/>
        <aParams/>
        <beforeText/>
        <afterText/>
    </action>
    
    
    
    不幸的是,Magento没有使用反射将action元素子元素映射到方法的命名参数,而是依赖于位置


    另一个注意事项是,liParams和aParams可以是一个字符串,也可以是一系列表示键/值对的子元素。

    要用一个示例来完成Lee的回答,要向顶部链接(元素本身)添加一个类,可以通过
  • 下面的一个新节点(或一个字符串)执行,如下所示:

    <action method="addLink">
        <label/>
        <url/>
        <title/>
        <prepare/>
        <urlParams/>
        <position/>
        <liParams>
            <class>myclassname</class>
        </liParams>
        <aParams/>
        <beforeText/>
        <afterText/>
    </action>
    
    
    我的类名
    
    但是正如Lee指出的,您需要保持这些子元素的顺序

    如果要将类放入列表中的
    ,则语法类似,只需将节点作为目标:

    <action method="addLink">
        <label/>
        <url/>
        <title/>
        <prepare/>
        <urlParams/>
        <position/>
        <liParams/>
        <aParams>
            <class>myclassname</class>
        </aParams>
        <beforeText/>
        <afterText/>
    </action>
    
    
    我的类名
    
    如果在链接文本和格式方面需要更多的灵活性,另一种方法是在块中生成链接,然后添加该块,而不是使用“addLink”节点

    这就是购物车和结帐链接的添加方式,而不是将XML中的链接添加到它们直接从块中调用addLink方法的顶部链接,这样它们可以计算出为每个客户显示的适当文本

    有关此示例,请参见
    Mage\u Checkout\u Block\u链接与
    base\default\layout\Checkout.xml结合使用

    <action method="addLink">
        <label/>
        <url/>
        <title/>
        <prepare/>
        <urlParams/>
        <position/>
        <liParams/>
        <aParams>
            <class>myclassname</class>
        </aParams>
        <beforeText/>
        <afterText/>
    </action>