1

之后如何添加另一个元素<li>

所以我可以得到这个树结构<ul><li><span><a>Logout</a></span></li></ul>

目前我渲染的 html 看起来像这样。我想让 span 元素在注销时做更多事情。我已经尝试了很多,但没有运气。请帮忙。谢谢

<ul class="links">
      <li class="first last">
         <a href="http://www.abc.com/index.php/customer/account/logout/" title="Log Out" class="logout-link">Logout</a>
      </li>
</ul>

top.links的布局是

<customer_logged_in>
<reference name="account.links">
    <action method="addLink" translate="label title" module="customer">
        <label>Logout</label>
        <url helper="customer/getLogoutUrl"/>
        <title>Log Out</title>
        <prepare/>
        <urlParams/>
        <position>2</position>
        <liParams></liParams>
        <aParams>class="logout-link"</aParams>
    </action>
    <action method="removeLinkByUrl">
        <url helper="customer/getRegisterUrl" />
    </action>
</reference>

如果我要更改links.phtml,那么更改将适用于所有链接,否则我需要将其他链接放在那里,但我只需要它用于注销。那么最好的方法是什么?

这可以使用 addLinks 方法实现吗?

4

2 回答 2

3

您可以使用beforeTextandafterText参数执行此操作,如下所示:

<action method="addLink" translate="label title" module="customer">
    <label>Logout</label>
    <url helper="customer/getLogoutUrl"/>
    <title>Log Out</title>
    <prepare/>
    <urlParams/>
    <position>2</position>
    <liParams></liParams>
    <aParams>class="logout-link"</aParams>
    <beforeText><![CDATA[<span>]]></beforeText>
    <afterText><![CDATA[</span>]]></afterText>
</action>  

这会将您的链接修改为如下所示:

<li class="first last">
   <span><a href="http://www.abc.com/index.php/customer/account/logout/" title="Log Out" class="logout-link">Logout</a></span>
</li>
于 2013-05-07T14:42:29.683 回答
0

您可以创建自己的模板(links.phtml 的副本)并将其仅应用于热门链接。在主题的 local.xml 中这样做:

<default>
    <reference name="top.links">

        <action method="setTemplate">
            <template>page/template/my_links.phtml</template>
        </action>

    </reference>
<default>

然后复制page/template/links.phtml并将其重命名为page/template/my_links.phtml并在该新模板文件中执行您需要的任何操作。它将仅用于呈现热门链接,而不用于任何其他链接

于 2013-05-07T14:45:38.210 回答