Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento:使用自定义价格将产品添加到购物车_Magento - Fatal编程技术网

Magento:使用自定义价格将产品添加到购物车

Magento:使用自定义价格将产品添加到购物车,magento,Magento,首先,我正在开发自定义价格的扩展,我在产品页面上有一个输入,这是一个描述我所做工作的图像: 当客户输入他想要的价格并单击“添加到购物车”时,必须使用他添加的价格添加产品 我知道可以在控制器中编码,但我不知道如何编码 这是控制器空类: <?php class WebDirect_CustomPrice_savePriceController extends Mage_Core_Controller_Front_Action{ //put your code here } 任何人都

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

当客户输入他想要的价格并单击“添加到购物车”时,必须使用他添加的价格添加产品

我知道可以在控制器中编码,但我不知道如何编码

这是控制器空类:

<?php

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

任何人都知道“添加到购物车”按钮是如何工作的,您可以从以下位置开始:

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签出,要小心,因为be逻辑和opcheckout.js紧密结合在一起


Chears

你需要打电话给最终价格观察员。需要遵循以下步骤:

1在etc/config.xml中添加观察者

<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>
点击下面类似的地方,你们可以找到如何设置自定义价格时,产品添加到购物车


当客户单击add to basket时,请发布代码的其余部分。正在调用控制器中的哪个方法,您也可以访问哪些值?i、 海关价格。你可以做你想做的事情,但是首先要让基本的东西发挥作用,也就是说,一个产品实际上是先以正常价格加入购物车的。一旦你有了这一点的工作,看看这篇文章,我之前已经解释过如何做到这一点:而且,我会尝试用一个观察者来做这件事,而不是一个全新的自定义控制器,并改变很多magento默认行为。想一想未来的升级:-@AshleySwatton如果是这样的话,如何使用observer?扩展没有修改核心,这就是我想要的?顺便问一下,Xyz是什么名称空间或模块名称?价格改变了,但我不想画常规价格。我先尝试了这个,但没有成功。你在magento中有知识事件观察者,所以你可以很容易地理解它。如果你仍然发邮件给我,我很乐意解决。不,我知道观察员是如何工作的,但你可以看到第二个问题
 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;
 }