protected function _beforeSave(Varien_Object $object) { parent::_beforeSave($object); if (!$object->getId()) { $object->setPosition($this->_getMaxPosition($object->getPath()) + 1); $object->setPath($object->getPath() . '/'); } return $this; }
protected function _beforeSave(Varien_Object $object) { if (!$object->getId() && $object->getSku()) { $object->setId($this->getIdBySku($object->getSku())); } if (is_array($object->getData('category_ids'))) { $object->setData('category_ids', implode(',', $object->getData('category_ids'))); } return parent::_beforeSave($object); }
protected function _beforeSave(Varien_Object $object) { if ($object->hasCategoryIds()) { $categoryIds = Mage::getResourceSingleton('catalog/category')->verifyIds($object->getCategoryIds()); $object->setCategoryIds($categoryIds); } if (!$object->getSku() && Mage::getStoreConfigFlag('udprod/general/auto_sku')) { $adapter = $this->_getReadAdapter(); $pidSuffix = $adapter->fetchOne($adapter->select()->from($this->getEntityTable(), 'max(entity_id)')); do { $object->setSku($object->getUdropshipVendor() . '-' . ++$pidSuffix); } while (Mage::helper('udropship/catalog')->getPidBySku($object->getSku(), $object->getId())); } $vId = Mage::getSingleton('udropship/session')->getVendorId(); if (!$vId && Mage::app()->getStore()->isAdmin() && Mage::helper('udropship')->isModuleActive('umicrosite') && ($v = Mage::helper('umicrosite')->getAdminhtmlVendor())) { $vId = $v->getId(); } else { $vId = $object->getData('udropship_vendor'); } if (Mage::getStoreConfigFlag('udprod/general/prefix_sku_vid') && $vId && 0 !== strpos($object->getSku(), $vId . '-')) { $object->setSku($vId . '-' . $object->getSku()); } if (Mage::getStoreConfigFlag('udprod/general/unique_vendor_sku') && $vId && !Mage::helper('udropship')->isUdmultiActive()) { $vSkuAttr = Mage::getStoreConfig('udropship/vendor/vendor_sku_attribute'); if ($vSkuAttr && $vSkuAttr != 'sku') { if (!$object->getData($vSkuAttr)) { Mage::throwException('Vendor SKU attribute is empty'); } elseif (Mage::helper('udropship/catalog')->getPidByVendorSku($object->getData($vSkuAttr), $vId, $object->getId())) { Mage::throwException(Mage::helper('udropship')->__('Vendor SKU "%s" is already used', $object->getData($vSkuAttr))); } } } if (Mage::helper('udropship')->hasMageFeature('resource_1.6')) { return Mage_Catalog_Model_Resource_Abstract::_beforeSave($object); } else { return Mage_Catalog_Model_Resource_Eav_Mysql4_Abstract::_beforeSave($object); } }
/** * Process product data before save * * @param Varien_Object $object * @return Mage_Catalog_Model_Resource_Eav_Mysql4_Product */ protected function _beforeSave(Varien_Object $object) { if (!$object->getId() && $object->getSku()) { $object->setId($this->getIdBySku($object->getSku())); } $categoryIds = $object->getCategoryIds(); if ($categoryIds) { $categoryIds = AO::getModel('catalog/category')->verifyIds($categoryIds); } $object->setData('category_ids', implode(',', $categoryIds)); return parent::_beforeSave($object); }
/** * Process category data before saving * prepare path and increment children count for parent categories * * @param Varien_Object $object * @return Mage_Catalog_Model_Resource_Eav_Mysql4_Category */ protected function _beforeSave(Varien_Object $object) { parent::_beforeSave($object); if (!$object->getId()) { $object->setPosition($this->_getMaxPosition($object->getPath()) + 1); $path = explode('/', $object->getPath()); $level = count($path); $object->setLevel($level); if ($level) { $object->setParentId($path[$level - 1]); } $object->setPath($object->getPath() . '/'); $toUpdateChild = explode('/', $object->getPath()); $this->_getWriteAdapter()->update($this->getEntityTable(), array('children_count' => new Zend_Db_Expr('`children_count`+1')), $this->_getWriteAdapter()->quoteInto('entity_id IN(?)', $toUpdateChild)); } return $this; }
/** * Process product data before save * * @param Varien_Object $object * @return Mage_Catalog_Model_Resource_Eav_Mysql4_Product */ protected function _beforeSave(Varien_Object $object) { /** * Try detect product id by sku if id is not declared */ if (!$object->getId() && $object->getSku()) { $object->setId($this->getIdBySku($object->getSku())); } /** * Check if declared category ids in object data. */ if ($object->hasCategoryIds()) { $categoryIds = Mage::getResourceSingleton('catalog/category')->verifyIds($object->getCategoryIds()); $object->setCategoryIds($categoryIds); } return parent::_beforeSave($object); }