Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_Catalog_Block_Breadcrumbs
  • Mage_Catalog_Block_Category_View
  • Mage_Catalog_Block_Category_Widget_Link
  • Mage_Catalog_Block_Layer_Filter_Abstract
  • Mage_Catalog_Block_Layer_Filter_Attribute
  • Mage_Catalog_Block_Layer_Filter_Category
  • Mage_Catalog_Block_Layer_Filter_Decimal
  • Mage_Catalog_Block_Layer_Filter_Price
  • Mage_Catalog_Block_Layer_State
  • Mage_Catalog_Block_Layer_View
  • Mage_Catalog_Block_Navigation
  • Mage_Catalog_Block_Product
  • Mage_Catalog_Block_Product_Abstract
  • Mage_Catalog_Block_Product_Compare_Abstract
  • Mage_Catalog_Block_Product_Compare_List
  • Mage_Catalog_Block_Product_Compare_Sidebar
  • Mage_Catalog_Block_Product_Gallery
  • Mage_Catalog_Block_Product_List
  • Mage_Catalog_Block_Product_List_Crosssell
  • Mage_Catalog_Block_Product_List_Promotion
  • Mage_Catalog_Block_Product_List_Random
  • Mage_Catalog_Block_Product_List_Related
  • Mage_Catalog_Block_Product_List_Toolbar
  • Mage_Catalog_Block_Product_List_Upsell
  • Mage_Catalog_Block_Product_New
  • Mage_Catalog_Block_Product_Price
  • Mage_Catalog_Block_Product_Price_Template
  • Mage_Catalog_Block_Product_Send
  • Mage_Catalog_Block_Product_View
  • Mage_Catalog_Block_Product_View_Abstract
  • Mage_Catalog_Block_Product_View_Additional
  • Mage_Catalog_Block_Product_View_Attributes
  • Mage_Catalog_Block_Product_View_Description
  • Mage_Catalog_Block_Product_View_Media
  • Mage_Catalog_Block_Product_View_Options
  • Mage_Catalog_Block_Product_View_Options_Abstract
  • Mage_Catalog_Block_Product_View_Options_Type_Date
  • Mage_Catalog_Block_Product_View_Options_Type_Default
  • Mage_Catalog_Block_Product_View_Options_Type_File
  • Mage_Catalog_Block_Product_View_Options_Type_Select
  • Mage_Catalog_Block_Product_View_Options_Type_Text
  • Mage_Catalog_Block_Product_View_Price
  • Mage_Catalog_Block_Product_View_Tabs
  • Mage_Catalog_Block_Product_View_Type_Configurable
  • Mage_Catalog_Block_Product_View_Type_Grouped
  • Mage_Catalog_Block_Product_View_Type_Simple
  • Mage_Catalog_Block_Product_View_Type_Virtual
  • Mage_Catalog_Block_Product_Widget_Link
  • Mage_Catalog_Block_Product_Widget_New
  • Mage_Catalog_Block_Seo_Sitemap_Abstract
  • Mage_Catalog_Block_Seo_Sitemap_Category
  • Mage_Catalog_Block_Seo_Sitemap_Product
  • Mage_Catalog_Block_Seo_Sitemap_Tree_Category
  • Mage_Catalog_Block_Widget_Link
  • Mage_Catalog_CategoryController
  • Mage_Catalog_Exception
  • Mage_Catalog_Helper_Category
  • Mage_Catalog_Helper_Category_Flat
  • Mage_Catalog_Helper_Data
  • Mage_Catalog_Helper_Image
  • Mage_Catalog_Helper_Map
  • Mage_Catalog_Helper_Output
  • Mage_Catalog_Helper_Product
  • Mage_Catalog_Helper_Product_Compare
  • Mage_Catalog_Helper_Product_Configuration
  • Mage_Catalog_Helper_Product_Flat
  • Mage_Catalog_Helper_Product_Options
  • Mage_Catalog_Helper_Product_Url
  • Mage_Catalog_Helper_Product_View
  • Mage_Catalog_IndexController
  • Mage_Catalog_Model_Abstract
  • Mage_Catalog_Model_Api2_Product
  • Mage_Catalog_Model_Api2_Product_Category
  • Mage_Catalog_Model_Api2_Product_Category_Rest
  • Mage_Catalog_Model_Api2_Product_Category_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Category_Rest_Customer_V1
  • Mage_Catalog_Model_Api2_Product_Category_Rest_Guest_V1
  • Mage_Catalog_Model_Api2_Product_Image
  • Mage_Catalog_Model_Api2_Product_Image_Rest
  • Mage_Catalog_Model_Api2_Product_Image_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Image_Rest_Customer_V1
  • Mage_Catalog_Model_Api2_Product_Image_Rest_Guest_V1
  • Mage_Catalog_Model_Api2_Product_Image_Validator_Image
  • Mage_Catalog_Model_Api2_Product_Rest
  • Mage_Catalog_Model_Api2_Product_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Rest_Customer_V1
  • Mage_Catalog_Model_Api2_Product_Rest_Guest_V1
  • Mage_Catalog_Model_Api2_Product_Validator_Product
  • Mage_Catalog_Model_Api2_Product_Website
  • Mage_Catalog_Model_Api2_Product_Website_Rest
  • Mage_Catalog_Model_Api2_Product_Website_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Website_Validator_Admin_Website
  • Mage_Catalog_Model_Api_Resource
  • Mage_Catalog_Model_Attribute_Backend_Customlayoutupdate
  • Mage_Catalog_Model_Category
  • Mage_Catalog_Model_Category_Api
  • Mage_Catalog_Model_Category_Api_V2
  • Mage_Catalog_Model_Category_Attribute_Api
  • Mage_Catalog_Model_Category_Attribute_Api_V2
  • Mage_Catalog_Model_Category_Attribute_Backend_Image
  • Mage_Catalog_Model_Category_Attribute_Backend_Sortby
  • Mage_Catalog_Model_Category_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Category_Attribute_Source_Layout
  • Mage_Catalog_Model_Category_Attribute_Source_Mode
  • Mage_Catalog_Model_Category_Attribute_Source_Page
  • Mage_Catalog_Model_Category_Attribute_Source_Sortby
  • Mage_Catalog_Model_Category_Indexer_Flat
  • Mage_Catalog_Model_Category_Indexer_Product
  • Mage_Catalog_Model_Config
  • Mage_Catalog_Model_Convert
  • Mage_Catalog_Model_Convert_Adapter_Catalog
  • Mage_Catalog_Model_Convert_Adapter_Product
  • Mage_Catalog_Model_Convert_Parser_Product
  • Mage_Catalog_Model_Design
  • Mage_Catalog_Model_Entity_Attribute
  • Mage_Catalog_Model_Entity_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Index
  • Mage_Catalog_Model_Indexer_Url
  • Mage_Catalog_Model_Layer
  • Mage_Catalog_Model_Layer_Filter_Abstract
  • Mage_Catalog_Model_Layer_Filter_Attribute
  • Mage_Catalog_Model_Layer_Filter_Category
  • Mage_Catalog_Model_Layer_Filter_Decimal
  • Mage_Catalog_Model_Layer_Filter_Item
  • Mage_Catalog_Model_Layer_Filter_Price
  • Mage_Catalog_Model_Layer_Filter_Price_Algorithm
  • Mage_Catalog_Model_Layer_State
  • Mage_Catalog_Model_Observer
  • Mage_Catalog_Model_Product
  • Mage_Catalog_Model_Product_Action
  • Mage_Catalog_Model_Product_Api
  • Mage_Catalog_Model_Product_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Api
  • Mage_Catalog_Model_Product_Attribute_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Backend_Boolean
  • Mage_Catalog_Model_Product_Attribute_Backend_Groupprice
  • Mage_Catalog_Model_Product_Attribute_Backend_Groupprice_Abstract
  • Mage_Catalog_Model_Product_Attribute_Backend_Media
  • Mage_Catalog_Model_Product_Attribute_Backend_Msrp
  • Mage_Catalog_Model_Product_Attribute_Backend_Price
  • Mage_Catalog_Model_Product_Attribute_Backend_Recurring
  • Mage_Catalog_Model_Product_Attribute_Backend_Sku
  • Mage_Catalog_Model_Product_Attribute_Backend_Startdate
  • Mage_Catalog_Model_Product_Attribute_Backend_Tierprice
  • Mage_Catalog_Model_Product_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Product_Attribute_Group
  • Mage_Catalog_Model_Product_Attribute_Media_Api
  • Mage_Catalog_Model_Product_Attribute_Media_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Set_Api
  • Mage_Catalog_Model_Product_Attribute_Set_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Source_Boolean
  • Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture
  • Mage_Catalog_Model_Product_Attribute_Source_Layout
  • Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type
  • Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type_Enabled
  • Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type_Price
  • Mage_Catalog_Model_Product_Attribute_Tierprice_Api
  • Mage_Catalog_Model_Product_Attribute_Tierprice_Api_V2
  • Mage_Catalog_Model_Product_Compare_Item
  • Mage_Catalog_Model_Product_Compare_List
  • Mage_Catalog_Model_Product_Condition
  • Mage_Catalog_Model_Product_Configuration_Item_Option
  • Mage_Catalog_Model_Product_Flat_Flag
  • Mage_Catalog_Model_Product_Flat_Indexer
  • Mage_Catalog_Model_Product_Flat_Observer
  • Mage_Catalog_Model_Product_Image
  • Mage_Catalog_Model_Product_Indexer_Eav
  • Mage_Catalog_Model_Product_Indexer_Flat
  • Mage_Catalog_Model_Product_Indexer_Price
  • Mage_Catalog_Model_Product_Link
  • Mage_Catalog_Model_Product_Link_Api
  • Mage_Catalog_Model_Product_Link_Api_V2
  • Mage_Catalog_Model_Product_Media_Config
  • Mage_Catalog_Model_Product_Option
  • Mage_Catalog_Model_Product_Option_Api
  • Mage_Catalog_Model_Product_Option_Api_V2
  • Mage_Catalog_Model_Product_Option_Observer
  • Mage_Catalog_Model_Product_Option_Type_Date
  • Mage_Catalog_Model_Product_Option_Type_Default
  • Mage_Catalog_Model_Product_Option_Type_File
  • Mage_Catalog_Model_Product_Option_Type_Select
  • Mage_Catalog_Model_Product_Option_Type_Text
  • Mage_Catalog_Model_Product_Option_Value
  • Mage_Catalog_Model_Product_Option_Value_Api
  • Mage_Catalog_Model_Product_Option_Value_Api_V2
  • Mage_Catalog_Model_Product_Status
  • Mage_Catalog_Model_Product_Type
  • Mage_Catalog_Model_Product_Type_Abstract
  • Mage_Catalog_Model_Product_Type_Api
  • Mage_Catalog_Model_Product_Type_Api_V2
  • Mage_Catalog_Model_Product_Type_Configurable
  • Mage_Catalog_Model_Product_Type_Configurable_Attribute
  • Mage_Catalog_Model_Product_Type_Configurable_Price
  • Mage_Catalog_Model_Product_Type_Grouped
  • Mage_Catalog_Model_Product_Type_Grouped_Price
  • Mage_Catalog_Model_Product_Type_Price
  • Mage_Catalog_Model_Product_Type_Simple
  • Mage_Catalog_Model_Product_Type_Virtual
  • Mage_Catalog_Model_Product_Url
  • Mage_Catalog_Model_Product_Visibility
  • Mage_Catalog_Model_Product_Website
  • Mage_Catalog_Model_Resource_Abstract
  • Mage_Catalog_Model_Resource_Attribute
  • Mage_Catalog_Model_Resource_Category
  • Mage_Catalog_Model_Resource_Category_Attribute_Collection
  • Mage_Catalog_Model_Resource_Category_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Category_Attribute_Source_Layout
  • Mage_Catalog_Model_Resource_Category_Attribute_Source_Mode
  • Mage_Catalog_Model_Resource_Category_Attribute_Source_Page
  • Mage_Catalog_Model_Resource_Category_Collection
  • Mage_Catalog_Model_Resource_Category_Flat
  • Mage_Catalog_Model_Resource_Category_Flat_Collection
  • Mage_Catalog_Model_Resource_Category_Indexer_Product
  • Mage_Catalog_Model_Resource_Category_Tree
  • Mage_Catalog_Model_Resource_Collection_Abstract
  • Mage_Catalog_Model_Resource_Config
  • Mage_Catalog_Model_Resource_Eav_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Source_Layout
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Source_Mode
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Source_Page
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Flat
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Flat_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Tree
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Collection_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Config
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Layer_Filter_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Layer_Filter_Decimal
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Layer_Filter_Price
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Action
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Image
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Media
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Tierprice
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Frontend_Tierprice
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Flat
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Flat_Indexer
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav_Decimal
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav_Source
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Configurable
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Default
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Grouped
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Link
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Link_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Link_Product_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option_Value
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option_Value_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Relation
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Status
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable_Attribute_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable_Product_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Website
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Sendfriend
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Sendfriend_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Url
  • Mage_Catalog_Model_Resource_Helper_Mysql4
  • Mage_Catalog_Model_Resource_Layer_Filter_Attribute
  • Mage_Catalog_Model_Resource_Layer_Filter_Decimal
  • Mage_Catalog_Model_Resource_Layer_Filter_Price
  • Mage_Catalog_Model_Resource_Product
  • Mage_Catalog_Model_Resource_Product_Action
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Groupprice
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Groupprice_Abstract
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Image
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Media
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Tierprice
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Resource_Product_Attribute_Collection
  • Mage_Catalog_Model_Resource_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Product_Attribute_Frontend_Tierprice
  • Mage_Catalog_Model_Resource_Product_Collection
  • Mage_Catalog_Model_Resource_Product_Compare_Item
  • Mage_Catalog_Model_Resource_Product_Compare_Item_Collection
  • Mage_Catalog_Model_Resource_Product_Flat
  • Mage_Catalog_Model_Resource_Product_Flat_Indexer
  • Mage_Catalog_Model_Resource_Product_Indexer_Abstract
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav_Abstract
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav_Decimal
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav_Source
  • Mage_Catalog_Model_Resource_Product_Indexer_Price
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_Configurable
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_Default
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_Grouped
  • Mage_Catalog_Model_Resource_Product_Link
  • Mage_Catalog_Model_Resource_Product_Link_Collection
  • Mage_Catalog_Model_Resource_Product_Link_Product_Collection
  • Mage_Catalog_Model_Resource_Product_Option
  • Mage_Catalog_Model_Resource_Product_Option_Collection
  • Mage_Catalog_Model_Resource_Product_Option_Value
  • Mage_Catalog_Model_Resource_Product_Option_Value_Collection
  • Mage_Catalog_Model_Resource_Product_Relation
  • Mage_Catalog_Model_Resource_Product_Status
  • Mage_Catalog_Model_Resource_Product_Type_Configurable
  • Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute
  • Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute_Collection
  • Mage_Catalog_Model_Resource_Product_Type_Configurable_Product_Collection
  • Mage_Catalog_Model_Resource_Product_Website
  • Mage_Catalog_Model_Resource_Setup
  • Mage_Catalog_Model_Resource_Url
  • Mage_Catalog_Model_Session
  • Mage_Catalog_Model_System_Config_Backend_Catalog_Category_Flat
  • Mage_Catalog_Model_System_Config_Backend_Catalog_Product_Flat
  • Mage_Catalog_Model_System_Config_Backend_Catalog_Url_Rewrite_Suffix
  • Mage_Catalog_Model_Template_Filter
  • Mage_Catalog_Model_Url
  • Mage_Catalog_Product_CompareController
  • Mage_Catalog_ProductController
  • Mage_Catalog_Seo_SitemapController
  • Mage_CatalogSearch_Model_Resource_Helper_Mysql4
  • Mage_XmlConnect_Model_Catalog_Category_Media_Config

Interfaces

  • Mage_Catalog_Helper_Product_Configuration_Interface
  • Mage_Catalog_Model_Product_Condition_Interface
  • Mage_Catalog_Model_Product_Configuration_Item_Interface
  • Mage_Catalog_Model_Product_Configuration_Item_Option_Interface
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Interface
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_Interface
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * Magento
  4:  *
  5:  * NOTICE OF LICENSE
  6:  *
  7:  * This source file is subject to the Open Software License (OSL 3.0)
  8:  * that is bundled with this package in the file LICENSE.txt.
  9:  * It is also available through the world-wide-web at this URL:
 10:  * http://opensource.org/licenses/osl-3.0.php
 11:  * If you did not receive a copy of the license and are unable to
 12:  * obtain it through the world-wide-web, please send an email
 13:  * to license@magentocommerce.com so we can send you a copy immediately.
 14:  *
 15:  * DISCLAIMER
 16:  *
 17:  * Do not edit or add to this file if you wish to upgrade Magento to newer
 18:  * versions in the future. If you wish to customize Magento for your
 19:  * needs please refer to http://www.magentocommerce.com for more information.
 20:  *
 21:  * @category    Mage
 22:  * @package     Mage_Catalog
 23:  * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 24:  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 25:  */
 26: 
 27: 
 28: /**
 29:  * Catalog product custom option resource model
 30:  *
 31:  * @category    Mage
 32:  * @package     Mage_Catalog
 33:  * @author      Magento Core Team <core@magentocommerce.com>
 34:  */
 35: class Mage_Catalog_Model_Resource_Product_Option_Value extends Mage_Core_Model_Resource_Db_Abstract
 36: {
 37:     /**
 38:      * Define main table and initialize connection
 39:      *
 40:      */
 41:     protected function _construct()
 42:     {
 43:         $this->_init('catalog/product_option_type_value', 'option_type_id');
 44:     }
 45: 
 46:     /**
 47:      * Proceeed operations after object is saved
 48:      * Save options store data
 49:      *
 50:      * @param Mage_Core_Model_Abstract $object
 51:      * @return Mage_Core_Model_Resource_Db_Abstract
 52:      */
 53:     protected function _afterSave(Mage_Core_Model_Abstract $object)
 54:     {
 55:         $this->_saveValuePrices($object);
 56:         $this->_saveValueTitles($object);
 57: 
 58:         return parent::_afterSave($object);
 59:     }
 60: 
 61:     /**
 62:      * Save option value price data
 63:      *
 64:      * @param Mage_Core_Model_Abstract $object
 65:      */
 66:     protected function _saveValuePrices(Mage_Core_Model_Abstract $object)
 67:     {
 68:         $priceTable = $this->getTable('catalog/product_option_type_price');
 69: 
 70:         $price      = (float)sprintf('%F', $object->getPrice());
 71:         $priceType  = $object->getPriceType();
 72: 
 73:         if (!$object->getData('scope', 'price')) {
 74:             //save for store_id = 0
 75:             $select = $this->_getReadAdapter()->select()
 76:                 ->from($priceTable, 'option_type_id')
 77:                 ->where('option_type_id = ?', (int)$object->getId())
 78:                 ->where('store_id = ?', Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID);
 79:             $optionTypeId = $this->_getReadAdapter()->fetchOne($select);
 80: 
 81:             if ($optionTypeId) {
 82:                 if ($object->getStoreId() == '0') {
 83:                     $bind  = array(
 84:                         'price'         => $price,
 85:                         'price_type'    => $priceType
 86:                     );
 87:                     $where = array(
 88:                         'option_type_id = ?'    => $optionTypeId,
 89:                         'store_id = ?'          => Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID
 90:                     );
 91: 
 92:                     $this->_getWriteAdapter()->update($priceTable, $bind, $where);
 93:                 }
 94:             } else {
 95:                 $bind  = array(
 96:                     'option_type_id'    => (int)$object->getId(),
 97:                     'store_id'          => Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID,
 98:                     'price'             => $price,
 99:                     'price_type'        => $priceType
100:                 );
101:                 $this->_getWriteAdapter()->insert($priceTable, $bind);
102:             }
103:         }
104: 
105:         $scope = (int)Mage::app()->getStore()->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE);
106: 
107:         if ($object->getStoreId() != '0' && $scope == Mage_Core_Model_Store::PRICE_SCOPE_WEBSITE
108:             && !$object->getData('scope', 'price')) {
109: 
110:             $baseCurrency = Mage::app()->getBaseCurrencyCode();
111: 
112:             $storeIds = Mage::app()->getStore($object->getStoreId())
113:                 ->getWebsite()
114:                 ->getStoreIds();
115:             if (is_array($storeIds)) {
116:                 foreach ($storeIds as $storeId) {
117:                     if ($priceType == 'fixed') {
118:                         $storeCurrency = Mage::app()->getStore($storeId)->getBaseCurrencyCode();
119:                         $rate = Mage::getModel('directory/currency')->load($baseCurrency)->getRate($storeCurrency);
120:                         if (!$rate) {
121:                             $rate = 1;
122:                         }
123:                         $newPrice = $price * $rate;
124:                     } else {
125:                         $newPrice = $price;
126:                     }
127: 
128:                     $select = $this->_getReadAdapter()->select()
129:                         ->from($priceTable, 'option_type_id')
130:                         ->where('option_type_id = ?', (int)$object->getId())
131:                         ->where('store_id = ?', (int)$storeId);
132:                     $optionTypeId = $this->_getReadAdapter()->fetchOne($select);
133: 
134:                     if ($optionTypeId) {
135:                         $bind  = array(
136:                             'price'         => $newPrice,
137:                             'price_type'    => $priceType
138:                         );
139:                         $where = array(
140:                             'option_type_id = ?'    => (int)$optionTypeId,
141:                             'store_id = ?'          => (int)$storeId
142:                         );
143: 
144:                         $this->_getWriteAdapter()->update($priceTable, $bind, $where);
145:                     } else {
146:                         $bind  = array(
147:                             'option_type_id'    => (int)$object->getId(),
148:                             'store_id'          => (int)$storeId,
149:                             'price'             => $newPrice,
150:                             'price_type'        => $priceType
151:                         );
152: 
153:                         $this->_getWriteAdapter()->insert($priceTable, $bind);
154:                     }
155:                 }// end of foreach()
156:             }
157:         } else if ($scope == Mage_Core_Model_Store::PRICE_SCOPE_WEBSITE && $object->getData('scope', 'price')) {
158:             $where = array(
159:                 'option_type_id = ?'    => (int)$object->getId(),
160:                 'store_id = ?'          => (int)$object->getStoreId(),
161:             );
162:             $this->_getWriteAdapter()->delete($priceTable, $where);
163:         }
164: 
165:     }
166: 
167:     /**
168:      * Save option value title data
169:      *
170:      * @param Mage_Core_Model_Abstract $object
171:      */
172:     protected function _saveValueTitles(Mage_Core_Model_Abstract $object)
173:     {
174:         $titleTable = $this->getTable('catalog/product_option_type_title');
175: 
176:         if (!$object->getData('scope', 'title')) {
177:             $select = $this->_getReadAdapter()->select()
178:                 ->from($titleTable, array('option_type_id'))
179:                 ->where('option_type_id = ?', (int)$object->getId())
180:                 ->where('store_id = ?', 0);
181:             $optionTypeId = $this->_getReadAdapter()->fetchOne($select);
182: 
183:             if ($optionTypeId) {
184:                 if ($object->getStoreId() == '0') {
185:                     $where = array(
186:                         'option_type_id = ?'    => (int)$optionTypeId,
187:                         'store_id = ?'          => Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID
188:                     );
189:                     $bind  = array(
190:                         'title' => $object->getTitle()
191:                     );
192:                     $this->_getWriteAdapter()->update($titleTable, $bind, $where);
193:                 }
194:             } else {
195:                 $bind  = array(
196:                     'option_type_id'    => (int)$object->getId(),
197:                     'store_id'          => Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID,
198:                     'title'             => $object->getTitle()
199:                 );
200:                 $this->_getWriteAdapter()->insert($titleTable, $bind);
201:             }
202:         }
203: 
204:         if ($object->getStoreId() != '0' && !$object->getData('scope', 'title')) {
205:             $select = $this->_getReadAdapter()->select()
206:                 ->from($titleTable, array('option_type_id'))
207:                 ->where('option_type_id = ?', (int)$object->getId())
208:                 ->where('store_id = ?', (int)$object->getStoreId());
209:             $optionTypeId = $this->_getReadAdapter()->fetchOne($select);
210: 
211:             if ($optionTypeId) {
212:                 $bind  = array(
213:                     'title' => $object->getTitle()
214:                 );
215:                 $where = array(
216:                     'option_type_id = ?'    => (int)$optionTypeId,
217:                     'store_id = ?'          => (int)$object->getStoreId()
218:                 );
219:                 $this->_getWriteAdapter()->update($titleTable, $bind, $where);
220:             } else {
221:                 $bind  = array(
222:                     'option_type_id'    => (int)$object->getId(),
223:                     'store_id'          => (int)$object->getStoreId(),
224:                     'title'             => $object->getTitle()
225:                 );
226:                 $this->_getWriteAdapter()->insert($titleTable, $bind);
227:             }
228:         } else if ($object->getData('scope', 'title')) {
229:             $where = array(
230:                 'option_type_id = ?'    => (int)$optionTypeId,
231:                 'store_id = ?'          => (int)$object->getStoreId()
232:             );
233:             $this->_getWriteAdapter()->delete($titleTable, $where);
234:         }
235:     }
236: 
237:     /**
238:      * Delete values by option id
239:      *
240:      * @param int $optionId
241:      * @return Mage_Catalog_Model_Resource_Product_Option_Value
242:      */
243:     public function deleteValue($optionId)
244:     {
245:         $statement = $this->_getReadAdapter()->select()
246:             ->from($this->getTable('catalog/product_option_type_value'))
247:             ->where('option_id = ?', $optionId);
248: 
249:         $rowSet = $this->_getReadAdapter()->fetchAll($statement);
250: 
251:         foreach ($rowSet as $optionType) {
252:             $this->deleteValues($optionType['option_type_id']);
253:         }
254: 
255:         $this->_getWriteAdapter()->delete(
256:             $this->getMainTable(),
257:             array(
258:                 'option_id = ?' => $optionId,
259:             )
260:         );
261: 
262:         return $this;
263:     }
264: 
265:     /**
266:      * Delete values by option type
267:      *
268:      * @param int $optionTypeId
269:      */
270:     public function deleteValues($optionTypeId)
271:     {
272:         $condition = array(
273:             'option_type_id = ?' => $optionTypeId
274:         );
275: 
276:         $this->_getWriteAdapter()->delete(
277:             $this->getTable('catalog/product_option_type_price'),
278:             $condition
279:         );
280: 
281:         $this->_getWriteAdapter()->delete(
282:             $this->getTable('catalog/product_option_type_title'),
283:             $condition
284:         );
285:     }
286: 
287:     /**
288:      * Duplicate product options value
289:      *
290:      * @param Mage_Catalog_Model_Product_Option_Value $object
291:      * @param int $oldOptionId
292:      * @param int $newOptionId
293:      * @return Mage_Catalog_Model_Product_Option_Value
294:      */
295:     public function duplicate(Mage_Catalog_Model_Product_Option_Value $object, $oldOptionId, $newOptionId)
296:     {
297:         $writeAdapter = $this->_getWriteAdapter();
298:         $readAdapter  = $this->_getReadAdapter();
299:         $select       = $readAdapter->select()
300:             ->from($this->getMainTable())
301:             ->where('option_id = ?', $oldOptionId);
302:         $valueData = $readAdapter->fetchAll($select);
303: 
304:         $valueCond = array();
305: 
306:         foreach ($valueData as $data) {
307:             $optionTypeId = $data[$this->getIdFieldName()];
308:             unset($data[$this->getIdFieldName()]);
309:             $data['option_id'] = $newOptionId;
310: 
311:             $writeAdapter->insert($this->getMainTable(), $data);
312:             $valueCond[$optionTypeId] = $writeAdapter->lastInsertId($this->getMainTable());
313:         }
314: 
315:         unset($valueData);
316: 
317:         foreach ($valueCond as $oldTypeId => $newTypeId) {
318:             // price
319:             $priceTable = $this->getTable('catalog/product_option_type_price');
320:             $columns= array(
321:                 new Zend_Db_Expr($newTypeId),
322:                 'store_id', 'price', 'price_type'
323:             );
324: 
325:             $select = $readAdapter->select()
326:                 ->from($priceTable, array())
327:                 ->where('option_type_id = ?', $oldTypeId)
328:                 ->columns($columns);
329:             $insertSelect = $writeAdapter->insertFromSelect($select, $priceTable,
330:                 array('option_type_id', 'store_id', 'price', 'price_type'));
331:             $writeAdapter->query($insertSelect);
332: 
333:             // title
334:             $titleTable = $this->getTable('catalog/product_option_type_title');
335:             $columns= array(
336:                 new Zend_Db_Expr($newTypeId),
337:                 'store_id', 'title'
338:             );
339: 
340:             $select = $this->_getReadAdapter()->select()
341:                 ->from($titleTable, array())
342:                 ->where('option_type_id = ?', $oldTypeId)
343:                 ->columns($columns);
344:             $insertSelect = $writeAdapter->insertFromSelect($select, $titleTable,
345:                 array('option_type_id', 'store_id', 'title'));
346:             $writeAdapter->query($insertSelect);
347:         }
348: 
349:         return $object;
350:     }
351: }
352: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0