示例#1
0
 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;
 }
示例#2
0
 /**
  * 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;
 }
示例#4
0
 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;
 }
示例#6
0
 /**
  * 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;
 }