2

私はMagentoの初心者です。商品閲覧ページにレビュータブを追加したい。誰でもこれを行う方法を手伝ってもらえますか?

私は次のアプローチを試しました:

<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>additional</alias><title>General Info</title><block>catalog/product_view_attributes</block><template>catalog/product/view/attributes.phtml</template></action-->
                    <action method="addTab" translate="title" module="catalog"><alias>description</alias><title>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</alias><title>Upsell</title><block>catalog/product_list_upsell</block><template>catalog/product/list/upsell.phtml</template></action>
                    <action method="addTab" translate="title" module="catalog"><alias>review</alias><title>Review</title><block>review/product_view_list</block><template>review/product/view/list.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>

    </block>

次にecho $this->getChildHtml('info_tabs'); view.phtmlで使用します。

説明、レビュー、追加情報のみが表示されます。何が問題なのですか?ありがとう

4

1 に答える 1

4

これがこの重複した質問からの私の答えです

これは、私のプロジェクトの 1 つでこの状況を処理した方法です。

レビュー付きのタブを追加し、

<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>tab_review_list</alias><title>Product Reviews</title><block>review/product_view_list</block><template>catalog/product/view/tabs/reviews.phtml</template></action>
</block>

現在、レビュー フォームは、通常はレビュー ページのサブブロックである異なるタイプのブロックによって処理されます。addTabアクションでネストされたブロックを作成する方法はありませんが、次の<reference>ようにタブでレビュー ブロックを作成した後にハンドラーを使用できます。

<reference name="tab_review_list">
  <block type="review/form" name="tab_review_form" as="review_form" template="catalog/product/view/tabs/review_form.phtml" />
</reference>

namein <reference>handler は<alias>in addTabaction と同じでなければなりません。

そして、catalog/product/view/tabs/reviews.phtmlあなたはただ使うだけで、

echo $this->getChildHtml('review_form');

ハンドラーを使用<reference>して、レビュー リストとレビュー フォームにさらにブロックを追加できます。

もちろん、template引数に入力したパスにレビューリストとレビューフォームのファイルを作成する必要があるので、この場合は と を作成する必要がありcatalog/product/view/tabs/reviews.phtmlますcatalog/product/view/tabs/review_form.phtml。レビュー フォーム テンプレートをデフォルトのものに変更できreview/form.phtmlます。そこでコードを変更する必要がない場合、またはそのタブでのみ使用するが、レビュー リストの html 構造をさらに変更する必要がある場合は、別のファイルを作成することをお勧めします。必要に応じてデフォルト コードの一部を使用します。

于 2012-08-31T19:09:48.843 に答える