0

我在 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/”。我的问题是我应该怎么做才能阻止最后一个“/”显示在 url 中?

4

1 回答 1

4

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

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

使用 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>
于 2012-04-25T18:23:00.337 回答