Magento:以定制价格将产品添加到购物车

时间:2014-03-25 10:18:27

标签: magento

首先我正在开发自定义价格的扩展程序,我在产品页面上有一个输入,这是一个图像描述了我所做的:

enter image description here

当客户输入他想要的价格并点击添加到购物车时,必须添加产品,并添加他添加的价格。

我知道可以在控制器中编码,但我不知道怎么做?

这是控制器空类:

<?php

class WebDirect_CustomPrice_savePriceController extends Mage_Core_Controller_Front_Action{
    //put your code here
}

任何人都知道添加到购物车按钮的工作原理(代码)

2 个答案:

答案 0 :(得分:7)

你需要为它调用final_price观察者。需要遵循以下步骤:

1在etc / config.xml中添加Observer

<events>
  <catalog_product_get_final_price>
    <observers>
      <xyz_catalog_price_observer>
        <type>singleton</type>
        <class>Xyz_Catalog_Model_Price_Observer</class>
        <method>apply_customprice</method>
      </xyz_catalog_price_observer>
    </observers>
  </catalog_product_get_final_price>     
</events>
  1. 在模型中添加方法apply_customprice()

     public function apply_customprice($observer)
     {
         $event = $observer->getEvent();
         $product = $event->getProduct();
     // ADDD LOGIC HERE to get price added by customer
        $product->setFinalPrice($specialPrice); // set the product final price
        return $this;
     }
    
  2. 点击下方,了解如何在购物车中添加产品时设置自定义价格。

    http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method

答案 1 :(得分:1)

作为起点,您可以从:

开始
class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
{

 /**
 * Add product to shopping cart action
 *
 * @return Mage_Core_Controller_Varien_Action
 * @throws Exception
 */
public function addAction()
{

确保覆盖添加到购物车路线以指向您的路线(覆盖上述核心路线的新路线)。

同样从用户的输入中获取价格也会影响结账流程,特别是报价及其产生的所有内容(购物车,订单等)。

另外,关于onepage checkout要小心,因为BE逻辑和opcheckout.js非常紧密。

CHEARS