Hello Friends,
Using Observer,we have seen how to set the custome price, Check Here
Now, We are going for update the product with the custome price, because in magento, for the set any custome price, update custome price, there are different Observer Events which is help us for making proper customization.
A) Open Module Config.xml file which is located at etc directory of Module
[This module is same which we use for the Set Custome price]
B) Here, the code of observer event for update price
{Namespace}/{Module Name}/Model/Observer.php
D) In Observer.php add updatecustomprice function
Enjoy, This is work for me in Magento 1.7.0.2
Using Observer,we have seen how to set the custome price, Check Here
Now, We are going for update the product with the custome price, because in magento, for the set any custome price, update custome price, there are different Observer Events which is help us for making proper customization.
A) Open Module Config.xml file which is located at etc directory of Module
[This module is same which we use for the Set Custome price]
B) Here, the code of observer event for update price
Magento
<frontend>
...................
<events>
<checkout_cart_product_update_after> <!--Here Event Name as per your Requirement -->
<observers>
<{Namespace}_{Module Name}_Model_Observer>
<type>singleton</type>
<class>{Namespace}_{Module Name}__Model_Observer</class>
<method>updatecustomprice</method>
</{Namespace}_{Module Name}__Model_Observer>
</observers>
</checkout_cart_product_update_after>
</events>
.................
</frontend>
C) Now, Create or Update [if alreay you have] Observer.php in Model Directory...................
<events>
<checkout_cart_product_update_after> <!--Here Event Name as per your Requirement -->
<observers>
<{Namespace}_{Module Name}_Model_Observer>
<type>singleton</type>
<class>{Namespace}_{Module Name}__Model_Observer</class>
<method>updatecustomprice</method>
</{Namespace}_{Module Name}__Model_Observer>
</observers>
</checkout_cart_product_update_after>
</events>
.................
</frontend>
{Namespace}/{Module Name}/Model/Observer.php
D) In Observer.php add updatecustomprice function
Magento
class {Namespace}/{Module Name}_Model_Observer
{
public function updatecustomprice(Varien_Event_Observer $observer) {
$item = $observer->getQuoteItem();
$custom_vals = $_SESSION['custom_vals'];
if($custom_vals != '')
{
$additionalOptions = array(array(
'label' => '',
'value' => $custom_vals,
));
$item->addOption(array(
'code' => 'additional_options',
'value' => serialize($additionalOptions),
));
unset($_SESSION['custom_vals']);
}
$price = 123; //Here, set the Custom Price for Item
$item->setCustomPrice($price); // This set the Custom Price in Quote of cart
$item->setOriginalCustomPrice($price);
$item->getProduct()->setIsSuperMode(true);
}
}
E) Now, Clear all cache of site from admin{
public function updatecustomprice(Varien_Event_Observer $observer) {
$item = $observer->getQuoteItem();
$custom_vals = $_SESSION['custom_vals'];
if($custom_vals != '')
{
$additionalOptions = array(array(
'label' => '',
'value' => $custom_vals,
));
$item->addOption(array(
'code' => 'additional_options',
'value' => serialize($additionalOptions),
));
unset($_SESSION['custom_vals']);
}
$price = 123; //Here, set the Custom Price for Item
$item->setCustomPrice($price); // This set the Custom Price in Quote of cart
$item->setOriginalCustomPrice($price);
$item->getProduct()->setIsSuperMode(true);
}
}
Enjoy, This is work for me in Magento 1.7.0.2
No comments:
Post a Comment