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:  * Catalog category api
 29:  *
 30:  * @category   Mage
 31:  * @package    Mage_Catalog
 32:  * @author     Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_Catalog_Model_Category_Api extends Mage_Catalog_Model_Api_Resource
 35: {
 36:     public function __construct()
 37:     {
 38:         $this->_storeIdSessionField = 'category_store_id';
 39:     }
 40: 
 41:     /**
 42:      * Retrieve level of categories for category/store view/website
 43:      *
 44:      * @param string|int|null $website
 45:      * @param string|int|null $store
 46:      * @param int|null $categoryId
 47:      * @return array
 48:      */
 49:     public function level($website = null, $store = null, $categoryId = null)
 50:     {
 51:         $ids = array();
 52:         $storeId = Mage_Catalog_Model_Category::DEFAULT_STORE_ID;
 53: 
 54:         // load root categories of website
 55:         if (null !== $website) {
 56:             try {
 57:                 $website = Mage::app()->getWebsite($website);
 58:                 if (null === $store) {
 59:                     if (null === $categoryId) {
 60:                         foreach ($website->getStores() as $store) {
 61:                             /* @var $store Mage_Core_Model_Store */
 62:                             $ids[] = $store->getRootCategoryId();
 63:                         }
 64:                     } else {
 65:                         $ids = $categoryId;
 66:                     }
 67:                 } elseif (in_array($store, $website->getStoreIds())) {
 68:                     $storeId = Mage::app()->getStore($store)->getId();
 69:                     $ids = (null === $categoryId)? $store->getRootCategoryId() : $categoryId;
 70:                 } else {
 71:                     $this->_fault('store_not_exists');
 72:                 }
 73:             } catch (Mage_Core_Exception $e) {
 74:                 $this->_fault('website_not_exists', $e->getMessage());
 75:             }
 76:         }
 77:         elseif (null !== $store) {
 78:             // load children of root category of store
 79:             if (null === $categoryId) {
 80:                 try {
 81:                     $store = Mage::app()->getStore($store);
 82:                     $storeId = $store->getId();
 83:                     $ids = $store->getRootCategoryId();
 84:                 } catch (Mage_Core_Model_Store_Exception $e) {
 85:                     $this->_fault('store_not_exists');
 86:                 }
 87:             }
 88:             // load children of specified category id
 89:             else {
 90:                 $storeId = $this->_getStoreId($store);
 91:                 $ids = (int)$categoryId;
 92:             }
 93:         }
 94:         // load all root categories
 95:         else {
 96:             $ids = (null === $categoryId)? Mage_Catalog_Model_Category::TREE_ROOT_ID : $categoryId;
 97:         }
 98: 
 99:         $collection = Mage::getModel('catalog/category')->getCollection()
100:             ->setStoreId($storeId)
101:             ->addAttributeToSelect('name')
102:             ->addAttributeToSelect('is_active');
103: 
104:         if (is_array($ids)) {
105:             $collection->addFieldToFilter('entity_id', array('in' => $ids));
106:         } else {
107:             $collection->addFieldToFilter('parent_id', $ids);
108:         }
109: 
110:         // Only basic category data
111:         $result = array();
112:         foreach ($collection as $category) {
113:             /* @var $category Mage_Catalog_Model_Category */
114:             $result[] = array(
115:                 'category_id' => $category->getId(),
116:                 'parent_id'   => $category->getParentId(),
117:                 'name'        => $category->getName(),
118:                 'is_active'   => $category->getIsActive(),
119:                 'position'    => $category->getPosition(),
120:                 'level'       => $category->getLevel()
121:             );
122:         }
123: 
124:         return $result;
125:     }
126: 
127:     /**
128:      * Retrieve category tree
129:      *
130:      * @param int $parent
131:      * @param string|int $store
132:      * @return array
133:      */
134:     public function tree($parentId = null, $store = null)
135:     {
136:         if (is_null($parentId) && !is_null($store)) {
137:             $parentId = Mage::app()->getStore($this->_getStoreId($store))->getRootCategoryId();
138:         } elseif (is_null($parentId)) {
139:             $parentId = 1;
140:         }
141: 
142:         /* @var $tree Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Tree */
143:         $tree = Mage::getResourceSingleton('catalog/category_tree')
144:             ->load();
145: 
146:         $root = $tree->getNodeById($parentId);
147: 
148:         if($root && $root->getId() == 1) {
149:             $root->setName(Mage::helper('catalog')->__('Root'));
150:         }
151: 
152:         $collection = Mage::getModel('catalog/category')->getCollection()
153:             ->setStoreId($this->_getStoreId($store))
154:             ->addAttributeToSelect('name')
155:             ->addAttributeToSelect('is_active');
156: 
157:         $tree->addCollectionData($collection, true);
158: 
159:         return $this->_nodeToArray($root);
160:     }
161: 
162:     /**
163:      * Convert node to array
164:      *
165:      * @param Varien_Data_Tree_Node $node
166:      * @return array
167:      */
168:     protected function _nodeToArray(Varien_Data_Tree_Node $node)
169:     {
170:         // Only basic category data
171:         $result = array();
172:         $result['category_id'] = $node->getId();
173:         $result['parent_id']   = $node->getParentId();
174:         $result['name']        = $node->getName();
175:         $result['is_active']   = $node->getIsActive();
176:         $result['position']    = $node->getPosition();
177:         $result['level']       = $node->getLevel();
178:         $result['children']    = array();
179: 
180:         foreach ($node->getChildren() as $child) {
181:             $result['children'][] = $this->_nodeToArray($child);
182:         }
183: 
184:         return $result;
185:     }
186: 
187:     /**
188:      * Initilize and return category model
189:      *
190:      * @param int $categoryId
191:      * @param string|int $store
192:      * @return Mage_Catalog_Model_Category
193:      */
194:     protected function _initCategory($categoryId, $store = null)
195:     {
196:         $category = Mage::getModel('catalog/category')
197:             ->setStoreId($this->_getStoreId($store))
198:             ->load($categoryId);
199: 
200:         if (!$category->getId()) {
201:             $this->_fault('not_exists');
202:         }
203: 
204:         return $category;
205:     }
206: 
207:     /**
208:      * Retrieve category data
209:      *
210:      * @param int $categoryId
211:      * @param string|int $store
212:      * @param array $attributes
213:      * @return array
214:      */
215:     public function info($categoryId, $store = null, $attributes = null)
216:     {
217:         $category = $this->_initCategory($categoryId, $store);
218: 
219:         // Basic category data
220:         $result = array();
221:         $result['category_id'] = $category->getId();
222: 
223:         $result['is_active']   = $category->getIsActive();
224:         $result['position']    = $category->getPosition();
225:         $result['level']       = $category->getLevel();
226: 
227:         foreach ($category->getAttributes() as $attribute) {
228:             if ($this->_isAllowedAttribute($attribute, $attributes)) {
229:                 $result[$attribute->getAttributeCode()] = $category->getData($attribute->getAttributeCode());
230:             }
231:         }
232:         $result['parent_id']   = $category->getParentId();
233:         $result['children']           = $category->getChildren();
234:         $result['all_children']       = $category->getAllChildren();
235: 
236:         return $result;
237:     }
238: 
239:     /**
240:      * Create new category
241:      *
242:      * @param int $parentId
243:      * @param array $categoryData
244:      * @param int|null|string $store
245:      * @return int
246:      */
247:     public function create($parentId, $categoryData, $store = null)
248:     {
249:         $parent_category = $this->_initCategory($parentId, $store);
250: 
251:         /** @var $category Mage_Catalog_Model_Category */
252:         $category = Mage::getModel('catalog/category')
253:             ->setStoreId($this->_getStoreId($store));
254: 
255:         $category->addData(array('path'=>implode('/', $parent_category->getPathIds())));
256:         $category->setAttributeSetId($category->getDefaultAttributeSetId());
257: 
258:         $useConfig = array();
259:         foreach ($category->getAttributes() as $attribute) {
260:             if ($this->_isAllowedAttribute($attribute)
261:                 && isset($categoryData[$attribute->getAttributeCode()])
262:             ) {
263:                 // check whether value is 'use_config'
264:                 $attrCode = $attribute->getAttributeCode();
265:                 $categoryDataValue = $categoryData[$attrCode];
266:                 if ('use_config' === $categoryDataValue ||
267:                     (is_array($categoryDataValue) &&
268:                     count($categoryDataValue) == 1 &&
269:                     'use_config' === $categoryDataValue[0])
270:                 ) {
271:                     $useConfig[] = $attrCode;
272:                     $category->setData($attrCode, null);
273:                 } else {
274:                     $category->setData($attrCode, $categoryDataValue);
275:                 }
276:             }
277:         }
278: 
279:         $category->setParentId($parent_category->getId());
280: 
281:         /**
282:          * Proceed with $useConfig set into category model for processing through validation
283:          */
284:         if (count($useConfig) > 0) {
285:             $category->setData("use_post_data_config", $useConfig);
286:         }
287: 
288:         try {
289:             $validate = $category->validate();
290:             if ($validate !== true) {
291:                 foreach ($validate as $code => $error) {
292:                     if ($error === true) {
293:                         Mage::throwException(Mage::helper('catalog')->__('Attribute "%s" is required.', $code));
294:                     } else {
295:                         Mage::throwException($error);
296:                     }
297:                 }
298:             }
299: 
300:             $category->save();
301:         }
302:         catch (Mage_Core_Exception $e) {
303:             $this->_fault('data_invalid', $e->getMessage());
304:         }
305:         catch (Exception $e) {
306:             $this->_fault('data_invalid', $e->getMessage());
307:         }
308: 
309:         return $category->getId();
310:     }
311: 
312:     /**
313:      * Update category data
314:      *
315:      * @param int $categoryId
316:      * @param array $categoryData
317:      * @param string|int $store
318:      * @return boolean
319:      */
320:     public function update($categoryId, $categoryData, $store = null)
321:     {
322:         $category = $this->_initCategory($categoryId, $store);
323: 
324:         foreach ($category->getAttributes() as $attribute) {
325:             if ($this->_isAllowedAttribute($attribute)
326:                 && isset($categoryData[$attribute->getAttributeCode()])) {
327:                 $category->setData(
328:                     $attribute->getAttributeCode(),
329:                     $categoryData[$attribute->getAttributeCode()]
330:                 );
331:             }
332:         }
333: 
334:         try {
335:             $validate = $category->validate();
336:             if ($validate !== true) {
337:                 foreach ($validate as $code => $error) {
338:                     if ($error === true) {
339:                         Mage::throwException(Mage::helper('catalog')->__('Attribute "%s" is required.', $code));
340:                     }
341:                     else {
342:                         Mage::throwException($error);
343:                     }
344:                 }
345:             }
346: 
347:             $category->save();
348:         } catch (Mage_Core_Exception $e) {
349:             $this->_fault('data_invalid', $e->getMessage());
350:         } catch (Mage_Eav_Model_Entity_Attribute_Exception $e) {
351:             $this->_fault('data_invalid', $e->getMessage());
352:         }
353: 
354:         return true;
355:     }
356: 
357:     /**
358:      * Move category in tree
359:      *
360:      * @param int $categoryId
361:      * @param int $parentId
362:      * @param int $afterId
363:      * @return boolean
364:      */
365:     public function move($categoryId, $parentId, $afterId = null)
366:     {
367:         $category = $this->_initCategory($categoryId);
368:         $parent_category = $this->_initCategory($parentId);
369: 
370:         // if $afterId is null - move category to the down
371:         if ($afterId === null && $parent_category->hasChildren()) {
372:             $parentChildren = $parent_category->getChildren();
373:             $afterId = array_pop(explode(',', $parentChildren));
374:         }
375: 
376:         if( strpos($parent_category->getPath(), $category->getPath()) === 0) {
377:             $this->_fault('not_moved', "Operation do not allow to move a parent category to any of children category");
378:         }
379: 
380:         try {
381:             $category->move($parentId, $afterId);
382:         } catch (Mage_Core_Exception $e) {
383:             $this->_fault('not_moved', $e->getMessage());
384:         }
385: 
386:         return true;
387:     }
388: 
389:     /**
390:      * Delete category
391:      *
392:      * @param int $categoryId
393:      * @return boolean
394:      */
395:     public function delete($categoryId)
396:     {
397:         if (Mage_Catalog_Model_Category::TREE_ROOT_ID == $categoryId) {
398:             $this->_fault('not_deleted', 'Cannot remove the system category.');
399:         }
400: 
401:         $category = $this->_initCategory($categoryId);
402: 
403:         try {
404:             $category->delete();
405:         } catch (Mage_Core_Exception $e) {
406:             $this->_fault('not_deleted', $e->getMessage());
407:         }
408: 
409:         return true;
410:     }
411: 
412:     /**
413:      * Get prduct Id from sku or from product id
414:      *
415:      * @param int|string $productId
416:      * @param  string $identifierType
417:      * @return int
418:      */
419:     protected function _getProductId($productId, $identifierType = null)
420:     {
421:         $product = Mage::helper('catalog/product')->getProduct($productId, null, $identifierType);
422:         if (!$product->getId()) {
423:             $this->_fault('not_exists','Product not exists.');
424:         }
425:         return $product->getId();
426:     }
427: 
428: 
429:     /**
430:      * Retrieve list of assigned products to category
431:      *
432:      * @param int $categoryId
433:      * @param string|int $store
434:      * @return array
435:      */
436:     public function assignedProducts($categoryId, $store = null)
437:     {
438:         $category = $this->_initCategory($categoryId);
439: 
440:         $storeId = $this->_getStoreId($store);
441:         $collection = $category->setStoreId($storeId)->getProductCollection();
442:         ($storeId == 0)? $collection->addOrder('position', 'asc') : $collection->setOrder('position', 'asc');;
443: 
444:         $result = array();
445: 
446:         foreach ($collection as $product) {
447:             $result[] = array(
448:                 'product_id' => $product->getId(),
449:                 'type'       => $product->getTypeId(),
450:                 'set'        => $product->getAttributeSetId(),
451:                 'sku'        => $product->getSku(),
452:                 'position'   => $product->getCatIndexPosition()
453:             );
454:         }
455: 
456:         return $result;
457:     }
458: 
459:     /**
460:      * Assign product to category
461:      *
462:      * @param int $categoryId
463:      * @param int $productId
464:      * @param int $position
465:      * @return boolean
466:      */
467:     public function assignProduct($categoryId, $productId, $position = null, $identifierType = null)
468:     {
469:         $category = $this->_initCategory($categoryId);
470:         $positions = $category->getProductsPosition();
471:         $productId = $this->_getProductId($productId);
472:         $positions[$productId] = $position;
473:         $category->setPostedProducts($positions);
474: 
475:         try {
476:             $category->save();
477:         } catch (Mage_Core_Exception $e) {
478:             $this->_fault('data_invalid', $e->getMessage());
479:         }
480: 
481:         return true;
482:     }
483: 
484: 
485:     /**
486:      * Update product assignment
487:      *
488:      * @param int $categoryId
489:      * @param int $productId
490:      * @param int $position
491:      * @return boolean
492:      */
493:     public function updateProduct($categoryId, $productId, $position = null, $identifierType = null)
494:     {
495:         $category = $this->_initCategory($categoryId);
496:         $positions = $category->getProductsPosition();
497:         $productId = $this->_getProductId($productId, $identifierType);
498:         if (!isset($positions[$productId])) {
499:             $this->_fault('product_not_assigned');
500:         }
501:         $positions[$productId] = $position;
502:         $category->setPostedProducts($positions);
503: 
504:         try {
505:             $category->save();
506:         } catch (Mage_Core_Exception $e) {
507:             $this->_fault('data_invalid', $e->getMessage());
508:         }
509: 
510:         return true;
511:     }
512: 
513:     /**
514:      * Remove product assignment from category
515:      *
516:      * @param int $categoryId
517:      * @param int $productId
518:      * @return boolean
519:      */
520:     public function removeProduct($categoryId, $productId, $identifierType = null)
521:     {
522:         $category = $this->_initCategory($categoryId);
523:         $positions = $category->getProductsPosition();
524:         $productId = $this->_getProductId($productId, $identifierType);
525:         if (!isset($positions[$productId])) {
526:             $this->_fault('product_not_assigned');
527:         }
528: 
529:         unset($positions[$productId]);
530:         $category->setPostedProducts($positions);
531: 
532:         try {
533:             $category->save();
534:         } catch (Mage_Core_Exception $e) {
535:             $this->_fault('data_invalid', $e->getMessage());
536:         }
537: 
538:         return true;
539:     }
540: 
541: } // Class Mage_Catalog_Model_Category_Api End
542: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0