カスタムフィールドを追加してレビューフォームに 'Email Id'を追加するカスタムモジュールを作成することを楽しみにしていますが、Guest Customersのみです。Magento - レビューフォームにカスタムフィールドを追加
これはおそらく、 '/code/core/Mage/Review/Model/Mysql4/Review/Product/Collection.php'や '/ code/core/Mage/Review/Model'のようなコアモジュールを書き直す必要があることは知っています。 /Mysql4/Review.php 'を開き、ブロックファイルと.phtmlファイルを編集して' email 'テキストフィールドを追加します。
また、新しいフィールドもデータベーステーブルに追加する必要があります。そして、このフィールドは、Guest Customersのために強制的にそこにあるべきです。登録済みのお客様は、レビューを投稿する際にメールIDを入力する必要はありません。
私は次のことを行う方法についてはわかりません: 1)どのコアファイルを正確に書き直す必要がありますか? 2)この新しいフィールドを既存のデータベーステーブルに「レビュー」用に追加して、将来のアップグレードでそれを上書きしないようにするにはどうすればよいですか? 3)このフィールドはゲストのお客様が必須であることをどのように確認する必要がありますか? (登録されたお客様が記入してもOKです)
ご協力いただきまして誠にありがとうございます。ありがとう。
これは、これは私のconfig.xmlの
<?xml version="1.0"?>
<config>
<modules>
<CM_Review>
<version>0.0.1</version>
</CM_Review>
</modules>
<frontend>
<routers>
<review>
<use>standard</use>
<args>
<module>CM_Review</module>
<frontName>Review</frontName>
</args>
</review>
</routers>
</frontend>
<global>
<blocks>
<adminhtml>
<rewrite>
<review_edit_form>CM_Review_Block_Review_Edit_Form</review_edit_form>
</rewrite>
</adminhtml>
</blocks>
<helpers>
<review>
<rewrite>
<class>CM_Review_Helper</class>
</rewrite>
</review>
</helpers>
<models>
<review>
<rewrite>
<resource_review>CM_Review_Model_Resource_Review</resource_review>
<resource_review_product_collection>
CM_Review_Model_Resource_Review_Product_Collection
</resource_review_product_collection>
</rewrite>
</review>
</models>
</global>
そして、そのIコアファイルのそれぞれの内容は、私がこれまで行ったこと
CM
Review
Block
Review
Edit
Form.php
etc
config.xml
Helper
Data.php
Model
Resource
Review.php
Review
Product
Collection.php
です元のReview ModelファイルとAdminhtml/Block/Review Editファイルから拡張されています。コピー貼り付けがあります私のコードの余分な「電子メール」フィールドだけで、同じコードが作成されます。
私は手動でデータベースにフィールドを追加し、入力フィールドをbase/defaut/review/form.phtmlに追加しましたが、テーブルにデータを保存しません。
コアファイルを編集してこのフィールドを追加しようとすると、ゲスト顧客の電子メールIDが保存され、完全に正常に動作します。
私が間違っていることを理解できませんか?
これに関する提案はありますか?私はこれを行う方法について曖昧なアイデアを持っていますが、私は完全にはわかりません。もしこれをどうやって進めるのかについての道案内を与える人がいれば? – ivn