忽略Magento <url> </url>中的斜杠

时间:2012-04-17 08:16:20

标签: url magento slash

我在page.xml中创建了一个菜单,它看起来像这样:

<reference name="primary.menu">
<action method="addLink" translate="label title">
<label>Test</label>
<url>test.html</url>
<title>Test</title>
<prepare>1</prepare>
<urlParams/>
<position>10</position>
<liParams>dark-gray</liParams>
<aParams></aParams>
<beforeText></beforeText>
<afterText></afterText>
</action>
...................

用于primary.menu块的类是从Magento的核心扩展Mage_Page_Block_Template_Links类。

问题是,当我点击此链接时,它会转到“www.mydomain.com/test.html/”,但这不起作用。我的问题是我应该怎么做才能阻止最后一个'/'显示在网址中?

1 个答案:

答案 0 :(得分:4)

我认为<prepare>1</prepare>正在构建您的URL查询(在没有提供URL的专用帮助程序的情况下),因此在您的URL前面添加域名(这是您想要的),但它还附加一个斜杠(这是你不想要的)

  1. 创建一个帮助程序以提供“正确”的URL。
  2. 如果该网页是Magento CMS页面,请使用该帮助(首选)
  3. 使用<prepare/><url>/test.html</url> (黑客警报!)
  4. 使用Magento CMS帮助程序添加链接

    <action method="addLink" translate="label title before_text" module="cms">
      <label>Test</label>
      <url helper="cms/page/getPageUrl">
        <page_id>1</page_id>
      </url>
      <title>Test</title>
      <prepare/>
      <urlParams/>
      <position>10</position>
      <li/>
      <a/>
      <before_text/>
      <after_text/>
    </action>