मैं घटना catalog_product_new_action
डिफ़ॉल्ट सेट उत्पाद मूल्यों जब Magento 1.7
<?php
class Starmall_Productobserver_Model_Observer
{
public function initProduct(Varien_Event_Observer $observer)
{
$product = $observer->getEvent()->getProduct();
$product->setWeight(1);
$product->setStatus(1);
$product->setTaxClassId(1);
$product->setPrice(1);
$product->setStockData(array(
'is_in_stock' => 1,
'qty' => 99999
));
}
}
के लिए एक Observer.php बनाया है जब मैं एक नए उत्पाद को जोड़ने के वजन, स्थिति, कर वर्ग और कीमत सही ढंग से स्थापित कर रहे हैं में नए उत्पाद को जोड़ने मेरे डिफ़ॉल्ट के लिए। स्टॉक क्यूटी और स्टॉक उपलब्धता सेट नहीं है।
मैं इन स्टॉक मूल्यों को पर्यवेक्षक में कैसे सेट कर सकता हूं?
नोट: मैं Add Product
बटन पर क्लिक करने के बाद मौजूदा प्रबंधित उत्पाद स्क्रीन में उपयोग कर रहा हूं।
निम्नलिखित समाधान काम करता है। इन्वेंटरी डेटा ठीक से सेट है (आर एस जवाब देखें):
public function initProduct(Varien_Event_Observer $observer)
{
$product = $observer->getEvent()->getProduct();
$product->setWeight(1);
$product->setStatus(1);
$product->setTaxClassId(1);
$product->setPrice(1);
$product->setWebsiteIDs(array(1));
$stockItem = Mage::getModel('cataloginventory/stock_item');
$stockItem->assignProduct($product);
$stockItem->setData('is_in_stock', 1);
$stockItem->setData('qty', 1);
$product->setStockItem($stockItem);
}
धन्यवाद! यह काम करता है, थोड़ा बदल गया। समाधान के साथ संपादित प्रश्न देखें। समस्या '$ product-> save()' थी। यह एक अपवाद देता है 'एसक्यूएलएसटीएटी [23000]: ईमानदारी बाधा उल्लंघन: 1452 बच्चे की पंक्ति को जोड़ या अपडेट नहीं कर सकता: एक विदेशी कुंजी बाधा विफल हो जाती है' – Guus