Magentoショッピングカートを拡張して、店舗ロケータの追加手順を含める必要があります。コアのOnePageコントローラ(Mage_Checkout_OnepageController
)とブロック(Mage_Checkout_Block_Onepage
)を上書きする必要があることを理解していますが、余分な情報(カスタムステップのユーザーの選択したオプションなど)の管理については何が必要ですか。Magentoショッピングカートを拡張する
答えて
ソリューション全体を取得するには、ここでいくつかの手順が必要です。
まず、新しいモジュールを作成します。必要に応じてModuleCreatorを使用してください。
次に、setup scriptをモジュールに書き込んで、Magentoの属性構造に新しいフィールドを追加します。 :
$setup = new Mage_Sales_Model_Mysql4_Setup('core_setup');
$setup->startSetup();
$setup->addAttribute('quote', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
$setup->addAttribute('order', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
$setup->addAttribute('invoice', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
$setup->addAttribute('creditmemo', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
は、関連sales_flat_quote
とsales_flat_order
テーブルにフィールドを追加するMage_Sales_Model_Mysql4_Setup
の使用に注意してください。今
、あなたのモジュールのconfig.xmlファイルに次の値を挿入します。
<global>
<fieldsets>
<sales_convert_quote>
<my_attribute>
<to_order>*</to_order>
</my_attribute>
</sales_convert_quote>
<sales_convert_order>
<my_attribute>
<to_cm>*</to_cm>
<to_invoice>*</to_invoice>
</my_attribute>
</sales_convert_order>
</fieldsets>
請求書とcredit_memoする注文する引用からカスタムフィールドの値をコピーするためにMagentoのを指示すること、など
カスタムブロック/コントローラコードでは、Magentoのマジックゲッターとセッターを使用して値を保持することができます。
$oQuote = Mage::getSingleton('checkout/session')->getQuote();
$oQuote->setMyAttribute('some_value');
$oQuote->save();
sales_flat_quote
に保存された新しい列と値が表示されます。その後、顧客が決済を完了したら、同じ値をsales_flat_order
に保存する必要があります。上記のコードは、あなたの製品に設定されている属性値を保存したい場合だけ、しかし、quote_item
などにquote
を変更することにより、quote_item
とorder_item
のために働くように拡張することができます
注、その後、いくつかの余分な作業が必要とされます。
(再びグローバルノード内)あなたのconfig.xmlにXMLの新しいブロックを挿入します。
my_attribute
は、製品モデルの属性コードである
<sales>
<quote>
<item>
<product_attributes>
<my_attribute />
</product_attributes>
</item>
</quote>
</sales>
。これは、リンクされた製品にmy_attributeが利用できるようになりますので、あなたは完全なMage::getModel('catalog/product')->load($oQuoteItem->getProductId())
を実行するために必要とせずに
$oQuoteItem->getProduct()->getMyAttribute()
経由でアクセスすることができます。これははるかに効率的です。
次に、製品オブジェクトからquote_itemオブジェクトに値をコピーするには、オブザーバが必要です。
<events>
<sales_quote_item_set_product>
<observers>
<quoteitem_set_custom_data>
<type>singleton</type>
<class>mymodule/observer</class>
<method>setCustomDataOnQuoteItem</method>
</quoteitem_set_custom_data>
</observers>
</sales_quote_item_set_product>
<events>
をし、このようなあなたのオブザーバークラスでコードを書く::だから、config.xmlであなたのオブザーバーを宣言ここで
public function setCustomDataOnQuoteItem($oObserver){
$oProduct = $oObserver->getProduct();
$oQuoteItem = $oObserver->getQuoteItem();
foreach(array('my_attribute') as $vAttributeCode){
$oQuoteItem->setData($vAttributeCode,$oProduct->getData($vAttributeCode));
}
}
は、完全な作業モジュールであるとして...その(ほぼ)同じ上記のJohnatanのコード。 https://bitbucket.org/vovsky/adding-custom-product-attribute-to-quote-and-order-items-in/
をそして、ここですべてのステップの完全な説明: あなたはここでそれを見つけるでしょうhttp://www.atwix.com/magento/custom-product-attribute-quote-order-item/
- 1. Magento 2.1.2オフラインインストール拡張
- 2. Magento画像処理拡張
- 3. Sagepay magento拡張子。テストモード
- 4. Magento拡張インストールの問題
- 5. Magentoの - ショッピングカートのルール
- 6. 自分のショッピングカートを作成するか、既存のショッピングカートを拡張する必要がありますか?
- 7. ショッピングカートMagentoのページタイトル変更
- 8. 仮想製品の拡張Magento
- 9. Magento 2無限スクロール拡張子
- 10. Magento 2のMagento 2への拡張機能のインストール1.9
- 11. Magentoの2 - アップグレードMagentoののない拡張を有効にする方法
- 12. Magento 2拡張ヘルパーファイルを上書きする方法は?
- 13. Magentoの拡張スタイルを編集するには?
- 14. Magentoでショッピングカートの詳細を確認
- 15. MagentoのOveridingショッピングカートの価格の問題
- 16. Magento 1.9の拡張機能はMagento 2.xでサポートされます
- 17. Algoliaは私Magentoのウェブサイト上Algolia拡張をインストールしたMagentoの1.9.2.4に
- 18. magentoのアカウントテンプレート/ビューの拡張に問題がある
- 19. Magento CE拡張機能はPEで動作しますか?
- 20. ショッピングカートの中で最低価格を設定するMagento
- 21. Magentoでショッピングカートを事前に記入する方法は?
- 22. Magentoショッピングカートに隠し製品を追加するには?
- 23. Magentoのショッピングカートに元の価格を表示する方法
- 24. Magento 2拡張機能をインストールした後のフロントエンドエラー
- 25. HadoopのMapperを拡張するクラスを拡張する
- 26. カートの中のX +の商品に関するMagentoショッピングカートのルール
- 27. jQueryの(拡張)(拡張中)
- 28. SilverStripeモジュール拡張の拡張
- 29. Magentoパッケージ/拡張機能 - 完全に読み込まない
- 30. Magento - Simple Configurable Products拡張機能の質問?
は、なぜ誰も明らかなように、あなたが行ったように、完全なブログ記事を作成していないん?あなたの答えを探して2時間過ごしました!どうも ! – LittleBigDev