Public Member Functions | |
setAttribute ($attribute) | |
setScope ($attribute) | |
afterSave ($object) |
Definition at line 35 of file Price.php.
afterSave | ( | $ | object | ) |
After Save Attribute manipulation
Mage_Catalog_Model_Product | $object |
Orig value is only for existing objects
Reimplemented from Mage_Eav_Model_Entity_Attribute_Backend_Abstract.
Reimplemented in Mage_Catalog_Model_Product_Attribute_Backend_Tierprice, and Mage_Weee_Model_Attribute_Backend_Weee_Tax.
Definition at line 75 of file Price.php.
00076 { 00077 $value = $object->getData($this->getAttribute()->getAttributeCode()); 00078 /** 00079 * Orig value is only for existing objects 00080 */ 00081 $origValue= $object->getOrigData($this->getAttribute()->getAttributeCode()); 00082 if ($object->getStoreId() != 0 || !$value || $origValue) { 00083 return $this; 00084 } 00085 00086 if ($this->getAttribute()->getIsGlobal() == Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE) { 00087 $baseCurrency = Mage::app()->getBaseCurrencyCode(); 00088 00089 $storeIds = $object->getStoreIds(); 00090 if (is_array($storeIds)) { 00091 foreach ($storeIds as $storeId) { 00092 $storeCurrency = Mage::app()->getStore($storeId)->getBaseCurrencyCode(); 00093 if ($storeCurrency == $baseCurrency) { 00094 continue; 00095 } 00096 $rate = Mage::getModel('directory/currency')->load($baseCurrency)->getRate($storeCurrency); 00097 if (!$rate) { 00098 $rate = 1; 00099 } 00100 $newValue = $value * $rate; 00101 $object->addAttributeUpdate($this->getAttribute()->getAttributeCode(), $newValue, $storeId); 00102 } 00103 } 00104 } 00105 00106 return $this; 00107 }
setAttribute | ( | $ | attribute | ) |
Set Attribute instance Rewrite for redefine attribute scope
Mage_Catalog_Model_Resource_Eav_Attribute | $attribute |
Reimplemented from Mage_Eav_Model_Entity_Attribute_Backend_Abstract.
Definition at line 44 of file Price.php.
00045 { 00046 parent::setAttribute($attribute); 00047 $this->setScope($attribute); 00048 return $this; 00049 }
setScope | ( | $ | attribute | ) |
Redefine Attribute scope
Mage_Catalog_Model_Resource_Eav_Attribute | $attribute |
Definition at line 57 of file Price.php.
00058 { 00059 if (Mage::helper('catalog')->isPriceGlobal()) { 00060 $attribute->setIsGlobal(Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL); 00061 } 00062 else { 00063 $attribute->setIsGlobal(Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE); 00064 } 00065 00066 return $this; 00067 }