protected function _afterSave(Varien_Object $object) { parent::_afterSave($object); $this->_saveCategoryProducts($object); /** * Add identifier for new category */ if (substr($object->getPath(), -1) == '/') { $object->setPostedProducts(null); $object->setPath($object->getPath() . $object->getId()); $this->save($object); } return $this; }
/** * Prepare anchor text using passed text as parameter. * If anchor text was not specified get entity name from DB. * * @return string */ public function getAnchorText() { if (!$this->_anchorText && $this->_entityResource) { if (!$this->getData('anchor_text')) { $idPath = explode('/', $this->_getData('id_path')); if (isset($idPath[1])) { $id = $idPath[1]; if ($id) { $this->_anchorText = $this->_entityResource->getAttributeRawValue($id, 'name', Mage::app()->getStore()); } } } else { $this->_anchorText = $this->getData('anchor_text'); } } return $this->_anchorText; }
/** * Prepare category image URL using category ID. * * @return string */ public function getCategoryImageUrl() { if ($this->hasStoreId()) { $store = Mage::app()->getStore($this->getStoreId()); } else { $store = Mage::app()->getStore(); } if (!$this->_categoryImageUrl && $this->_categoryResource) { $idPath = explode('/', $this->_getData('id_path')); if (isset($idPath[1])) { $id = $idPath[1]; if ($id) { $categoryImage = $this->_categoryResource->getAttributeRawValue($id, 'image', $store); if ($categoryImage) { $this->_categoryImageUrl = Mage::getBaseUrl('media') . 'catalog/category/' . $categoryImage; } } } } return $this->_categoryImageUrl; }
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); } }
/** * Validate all object's attributes against configuration * * @param Varien_Object $object * @return Varien_Object */ public function validate($object) { parent::validate($object); return $this; }
/** * Validate all object's attributes against configuration * * @todo implement full validation process with errors returning which are ignoring now * * @param Varien_Object $object * @return Varien_Object */ public function validate($object) { // $this->walkAttributes('backend/beforeSave', array($object)); // return parent::validate($object); parent::validate($object); return $this; }