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. ページがMagentoCMSページの場合は、そのヘルパーを使用します(推奨)
  3. 使用<prepare/>して<url>/test.html</url> (ハックアラート!)

MagentoCMSヘルパーを使用してリンクを追加するには

<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 に答える