【问题标题】:Ignore the slash in Magento <url>忽略 Magento <url> 中的斜线
【发布时间】:2012-04-26 02:23:00
【问题描述】:

我在 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 中?

【问题讨论】:

    标签: url magento slash


    【解决方案1】:

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

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

    使用 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>
    

    【讨论】:

      猜你喜欢
      • 2016-02-01
      • 2018-05-19
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      • 1970-01-01
      相关资源
      最近更新 更多