Magento:通过获取产品ID来更改产品价格

时间:2013-12-20 08:18:38

标签: php jquery magento

我的Magento版本 - > 1.6.2

我使用的外部php文件通过jQuery post接收$product_id$my_price参数。

var priceNewValue = XX; // My custom price value
var product_id = optionsPrice.productId; // Product id

jQuery.post("http://flyingcakes.in/eshop/ajaxPriceCal.php", { price: priceNewValue, pid: product_id });

在我的“ajaxPriceCal.php”页面上,我抓住了值:

$product_id = $_POST['pid'];
$my_price = $_POST['price'];    

现在我希望Magento将此产品的价格($product_id)设置为$my_price。 那样:

  1. 将产品添加到购物车时会反映此更改的价格。
  2. 产品价格仅暂时更改,即未保存到数据库中。
  3. 我该怎么做?

2 个答案:

答案 0 :(得分:2)

您必须构建一个捕获add-to-cart事件sales_quote_add_item的观察者,然后您可以在观察者中使用$ observer-> getEvent()来更改此产品的价格 - &gt ; getQuoteItem() - > setOriginalCustomPrice([你的价格])。

在此页面上详细解释:Changing the price in quote while adding product to cart: magento

这对我有用......

答案 1 :(得分:0)

您需要将产品加载为 -

$_product=Mage::getModel('catalog/product')->load($product_id);
$_product->setPrice($my_price);
$_product-Save();

希望这会对你有所帮助。