Magentoの1ページのチェックアウトにカスタムフィールドを追加します

StackOverflow https://stackoverflow.com/questions/3537725

  •  30-09-2019
  •  | 
  •  

質問

Magento Checkout OnePageにカスタムフィールドを追加しようとしています。フラットオーダーテーブルへの移動のために、1.4.1で動作しない例に従いました(私は思う) http://inchoo.net/ecommerce/magento/adding-a-new-tab-under-one-page-checkout-fullworking-module/

カスタムフィールドのチェックアウトページでカスタムタブを表示できますが、データベースにフィールドを保存することはできません。

  • 引用符と注文テーブルに列を追加するにはどうすればよいですか?これはmymod/sql/mymod_setup/mysql4-install-0.1.0.phpまたは他の場所に移動する必要がありますか?

  • フィールドをDBに保存するにはどうすればよいですか?最初に見積もりに保存する必要がありますか?オブザーバーか何か他のものを使用しますか?モジュールのconfig.xmlに要素が必要ですか?http://www.magentocommerce.com/boards/viewthread/19344/

ありがとう

役に立ちましたか?

解決

免責事項:私は6か月間Magentoに触れていません。これは、App/Code/Code/Mage/Sales/SQL/Sales_setup/Directoryを見ると、注文表の変更方法の例を見つけると言われています。たとえば、こちらはApp/Code/Code/Mage/Sales/sql/Sales_setup/mysql4-upgrade-0.9.12-0.9.13.phpのコンテンツです(ヘッダーコメントなし):

$installer = $this;
/* @var $installer Mage_Sales_Model_Mysql4_Setup */

$installer->addAttribute('quote', 'subtotal', array('type'=>'decimal'));
$installer->addAttribute('quote', 'base_subtotal', array('type'=>'decimal'));

$installer->addAttribute('quote', 'subtotal_with_discount', array('type'=>'decimal'));
$installer->addAttribute('quote', 'base_subtotal_with_discount', array('type'=>'decimal'));

$これは、config/global/resources/sales_setup/setup/classに続いて、アプリ/code/mage/sales/etc/config.xmlで見つかったものから初期化されます。 mage_eav_model_entity_setup、デフォルトのセットアップクラスであり、いくつかのメソッドをオーバーライドまたは追加します(たとえばフラットテーブルサポート用)。

最初のポイント(最初の質問)に答えるには、このクラスのaddattribute()メソッドを使用して列を追加できます。 2番目の質問に対する答えはイエスですが、Mage_Sales_Model_MysQl4_Setupをセットアップクラスとして使用することをモジュールのconfig.xmlファイルで指定する必要があります。これは、App/Code/Code/Mage/sales/etc/config.xmlにあるApp/Code/Coles/Mage/sales/etc.xmlで見つかったのと同じXML要素を追加することによって行われます(sales_setupをyourmod_setupに置き換えます)。そのため、データベースをダンプし、mysql4-install-0.1.0.phpファイルでget_class($ this)を使用して動作することを確認し、dbを復元します。また、セットアップファイルに書き込みを続け、App/Code/Coles/Mage/Sales/SQL/Sales_Setupのファイルに表示されるものから自分自身を刺激します。さて、2番目のポイントのために...私は知りません...私はそれが自動的に機能することを願っています!幸運を!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top