获取magento中的自定义输入值

Sou*_*ouf 2 magento

首先,我在magento产品视图页面中创建了一个输入,如下所述:

在此输入图像描述

我做了一个观察者,所以它在添加到购物车时设置了自定义价格(checkout_cart_product_add_after事件),这是函数:

public function applyCustomPrice(Varien_Event_Observer $observer) {

        /* @var $item Mage_Sales_Model_Quote_Item */
        $item = $observer->getQuoteItem();
        if ($item->getParentItem()) {
            $item = $item->getParentItem();
        }

        $item->setCustomPrice(599.5);
        $item->setOriginalCustomPrice(599.5);
        $item->getProduct()->setIsSuperMode(true);

    }
Run Code Online (Sandbox Code Playgroud)

你可以看到我已经把"599.5"这个有用了.现在我想要的是在产品视图页面中获取该输入的值给观察者这是输入:

<div class="price-box">

    <span id="product-price-27" class="price">
        <input id="CP_ID" class="input-text price" type="text" onmouseout="onChangeCP(this);" value="2699.9900" style="width:auto;" name="custom_price"></input>
    </span>
    <input id="custom_price_total" type="hidden" value="2699.9900" name="custom_price_total"></input>

</div>
Run Code Online (Sandbox Code Playgroud)

谁知道怎么做?

Key*_*hah 5

如果您能够成功使用checkout_cart_product_add_after事件致电您的观察者,那么请在下面写下代码以更改产品价格

 $event = $observer->getEvent();
        $quote_item = $event->getQuoteItem();
        $new_price = Mage::app()->getRequest()->getPost('pricecustom');
Run Code Online (Sandbox Code Playgroud)

pricecustom是我的隐变量

        if(!is_null($new_price))
        {
            $quote_item->setCustomPrice($new_price);
            $quote_item->setOriginalCustomPrice($new_price);
            $quote_item->getProduct()->setIsSuperMode(true);
        }
Run Code Online (Sandbox Code Playgroud)

如果您有任何疑问,请告诉我