友達に送るフォームが 404 ページにリダイレクトされます。友達に送る機能を個別ページから商品詳細ページに移動しました。ページのレイアウトは「catalog.xml」に変更を加えました。
これは、「catalog.xml:」に書いたものです。
<block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" >
<action method="addTab" translate="title" module="catalog"><alias>description</alias><title>Product Description</title><block>catalog/product_view_description</block><template>catalog/product/view/description.phtml</template></action>
<action method="addTab" translate="title" module="catalog"><alias>upsell_products</alias><title>We Also Recommend</title><block>catalog/product_list_upsell</block><template>catalog/product/list/upsell.phtml</template></action>
<action method="addTab" translate="title" module="catalog"><alias>additional</alias><title>Additional Information</title><block>catalog/product_view_attributes</block><template>catalog/product/view/attributes.phtml</template></action>
<action method="addTab" translate="title">
<alias>send-friend</alias>
<title>Send Friends</title>
<block>sendfriend/send</block>
<template>sendfriend/send.phtml</template>
</action>
<!-- <action method="addTab" translate="title" module="catalog"><alias>reviewsthis</alias><title>Review This Product</title><block>review/form</block><template>review/form.phtml</template></action> -->
<action method="addTab" translate="title" module="catalog"><alias>reviews</alias><title>Reviews</title><block>review/product_view_list</block><template>review/product/view/list.phtml</template></action>
</block>
問題は、フォームが正しい「アクション」URL を取得していないことです。「send.phtml」のステートメント、つまり
action="<?php echo $this->getSendUrl() ?>"
これを返します:
http://localhost/magento_test1/catalog/product/sendmail/id/130/
次のようなものを返す必要があります。
http://localhost/magento_test1/sendfriend/product/sendmail/id/171/cat_id/35/
フォームを製品詳細ページに移動したときに、問題が確実に発生しました。これで、「$this->getSendUrl ()」は製品ページからの相対パスを提供します。
誰でもこの問題を解決する方法を教えてもらえますか? 私は何が欠けていますか?関数で Sendfriend コントローラーの URL を取得するにはどうすればよいですか?