Mage_Catalog_Model_Product_Attribute_Backend_Price Class Reference

Inheritance diagram for Mage_Catalog_Model_Product_Attribute_Backend_Price:

Mage_Eav_Model_Entity_Attribute_Backend_Abstract Mage_Eav_Model_Entity_Attribute_Backend_Interface Mage_Catalog_Model_Product_Attribute_Backend_Tierprice Mage_Weee_Model_Attribute_Backend_Weee_Tax

List of all members.

Public Member Functions

 setAttribute ($attribute)
 setScope ($attribute)
 afterSave ($object)


Detailed Description

Definition at line 35 of file Price.php.


Member Function Documentation

afterSave ( object  ) 

After Save Attribute manipulation

Parameters:
Mage_Catalog_Model_Product $object
Returns:
Mage_Catalog_Model_Product_Attribute_Backend_Price

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

Parameters:
Mage_Catalog_Model_Resource_Eav_Attribute $attribute
Returns:
Mage_Catalog_Model_Product_Attribute_Backend_Price

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

Parameters:
Mage_Catalog_Model_Resource_Eav_Attribute $attribute
Returns:
Mage_Catalog_Model_Product_Attribute_Backend_Price

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     }


The documentation for this class was generated from the following file:

Generated on Sat Jul 4 17:23:40 2009 for Magento by  doxygen 1.5.8