Class Mage_Catalog_Model_Product_Type_Abstract

Description

Abstract model for product type implementation

Located in /Catalog/Model/Product/Type/Abstract.php (line 34)


	
			
Direct descendents
Class Description
Mage_Bundle_Model_Product_Type Bundle Type Model
Mage_Catalog_Model_Product_Type_Grouped Grouped product type implementation
Mage_Catalog_Model_Product_Type_Configurable Configurable product type implementation
Mage_Catalog_Model_Product_Type_Simple Simple product type implementation
Mage_Catalog_Model_Product_Type_Virtual Virtual product type implementation
Class Constant Summary
Variable Summary
Method Summary
void addFileQueue (array $queueOptions)
bool canConfigure ([Mage_Catalog_Model_Product $product = null])
array checkProductConfiguration (Mage_Catalog_Model_Product $product, Varien_Object $buyRequest)
Mage_Eav_Model_Entity_Attribute_Abstract getAttributeById (int $attributeId, [ $product = null])
array getChildrenIds (int $parentId, [bool $required = true])
boolean getForceChildItemQtyChanges ([ $product = null])
string getOptionSku ([Mage_Catalog_Model_Product $product = null], [string $sku = ''])
array getOrderOptions ([Mage_Catalog_Model_Product $product = null])
array getParentIdsByChild (int|array $childId)
Varien_Object getRelationInfo ()
array getSearchableData ([Mage_Catalog_Model_Product $product = null])
array getSetAttributes ([Mage_Catalog_Model_Product $product = null])
string getSku ([Mage_Catalog_Model_Product $product = null])
int|Mage_Core_Model_Store getStoreFilter ([ $product = null])
decimal getWeight ([Mage_Catalog_Model_Product $product = null])
bool hasOptions ([Mage_Catalog_Model_Product $product = null])
bool isComposite ([Mage_Catalog_Model_Product $product = null])
bool isSalable ([Mage_Catalog_Model_Product $product = null])
bool isVirtual ([Mage_Catalog_Model_Product $product = null])
array|string prepareForCart ( $buyRequest, [Mage_Catalog_Model_Product $product = null])
array|string prepareForCartAdvanced ( $buyRequest, [Mage_Catalog_Model_Product $product = null], [null|string $processMode = null])
float prepareQuoteItemQty (mixed $qty, [ $product = null])
array processBuyRequest (Mage_Catalog_Model_Product $product, Varien_Object $buyRequest)
array|string processConfiguration ( $buyRequest, [Mage_Catalog_Model_Product $product = null], [string $processMode = self::PROCESS_MODE_LITE])
Mage_Catalog_Model_Product_Type_Configurable setStoreFilter ([$store $store = null], [ $product = null])
object Mage_Catalog_Model_Product_Type_Abstract updateQtyOption (array $options,  $option, mixed $value, [ $product = null])
bool _isStrictProcessMode (string $processMode)
array _prepareOptions ( $buyRequest, Mage_Catalog_Model_Product $product, string $processMode)
array _prepareOptionsForCart ( $buyRequest, [Mage_Catalog_Model_Product $product = null])
array|string _prepareProduct ( $buyRequest, Mage_Catalog_Model_Product $product, string $processMode)
Variables
bool $_canConfigure = false (line 77)

Is a configurable product type

  • access: protected

Redefined in descendants as:
bool $_canUseQtyDecimals = true (line 84)

Whether product quantity is fractional number or not

  • access: protected
array $_editableAttributes (line 63)
  • deprecated:
  • access: protected
array $_fileQueue = array() (line 98)

File queue array

  • access: protected
bool $_isComposite = false (line 70)

Is a composite product type

  • access: protected

Redefined in descendants as:
Mage_Catalog_Model_Product $_product (line 42)

Product model instance

  • deprecated: if use as singleton
  • access: protected
array $_setAttributes (line 56)
  • deprecated:
  • access: protected
int $_storeFilter = null (line 91)
  • deprecated:
  • access: protected
string $_typeId (line 49)

Product type instance id

  • access: protected
Methods
addFileQueue (line 469)

Add file to File Queue

  • access: public
void addFileQueue (array $queueOptions)
  • array $queueOptions: Array of File Queue (eg. ['operation'=>'move', 'src_name'=>'filename', 'dst_name'=>'filename2'])
assignProductToOption (line 863)

Implementation of product specify logic of which product needs to be assigned to option.

For example if product which was added to option already removed from catalog.

  • access: public

Redefined in descendants as:
attributesCompare (line 210)

Compare attribues sorting

  • access: public
int attributesCompare (Mage_Catalog_Model_Entity_Attribute $attribute1, Mage_Catalog_Model_Entity_Attribute $attribute2)
beforeSave (line 655)

Before save type related data

  • access: public

Redefined in descendants as:
canConfigure (line 679)

Check if product is configurable

  • access: public
bool canConfigure ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
canUseQtyDecimals (line 690)

Check if product qty is fractional number

  • access: public
bool canUseQtyDecimals (Mage_Catalog_Model_Product $product)
checkProductBuyState (line 553)

Check if product can be bought

  • throws: Mage_Core_Exception
  • access: public
Mage_Catalog_Model_Product_Type_Abstract checkProductBuyState ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
checkProductConfiguration (line 947)

Check product's options configuration

  • access: public
array checkProductConfiguration (Mage_Catalog_Model_Product $product, Varien_Object $buyRequest)
getAttributeById (line 253)

Retrieve product attribute by identifier

  • access: public
Mage_Eav_Model_Entity_Attribute_Abstract getAttributeById (int $attributeId, [ $product = null])
  • int $attributeId
  • $product
getChildrenIds (line 174)

Retrieve Required children ids

Return grouped array, ex array( group => array(ids) )

  • access: public
array getChildrenIds (int $parentId, [bool $required = true])
  • int $parentId
  • bool $required

Redefined in descendants as:
getEditableAttributes (line 230)

Retrieve product type attributes

  • access: public
array getEditableAttributes ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
getForceChildItemQtyChanges (line 838)

Allow for updates of chidren qty's (applicable for complicated product types. As default returns false)

  • return: false
  • access: public
boolean getForceChildItemQtyChanges ([ $product = null])
  • $product

Redefined in descendants as:
getOptionSku (line 717)

Default action to get sku of product with option

  • access: public
string getOptionSku ([Mage_Catalog_Model_Product $product = null], [string $sku = ''])
getOrderOptions (line 577)

Prepare additional options/information for order item which will be created from this product

  • access: public
array getOrderOptions ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
getParentIdsByChild (line 185)

Retrieve parent ids array by requered child

  • access: public
array getParentIdsByChild (int|array $childId)
  • int|array $childId

Redefined in descendants as:
getProduct (line 146)

Retrieve catalog product object

  • access: public
Mage_Catalog_Model_Product getProduct ([Mage_Catalog_Model_Product $product = null])
getProductsToPurchaseByReqGroups (line 919)

Retrieve products divided into groups required to purchase At least one product in each group has to be purchased

  • access: public
array getProductsToPurchaseByReqGroups ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
getRelationInfo (line 159)

Return relation info about used products for specific type instance

  • return: Object with information data
  • access: public
Varien_Object getRelationInfo ()

Redefined in descendants as:
getSearchableData (line 900)

Retrieve additional searchable data from type instance Using based on product id and store_id data

  • access: public
array getSearchableData ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
getSetAttributes (line 196)

Get array of product set attributes

  • access: public
array getSetAttributes ([Mage_Catalog_Model_Product $product = null])
getSku (line 701)

Default action to get sku of product

  • access: public
string getSku ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
getSpecifyOptionMessage (line 490)

Retrieve message for specify option(s)

  • access: public
string getSpecifyOptionMessage ()

Redefined in descendants as:
getStoreFilter (line 813)

Retrive store filter for associated products

  • access: public
int|Mage_Core_Model_Store getStoreFilter ([ $product = null])
  • $product
getWeight (line 755)

Default action to get weight of product

  • access: public
decimal getWeight ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
hasOptions (line 766)

Return true if product has options

  • access: public
bool hasOptions ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
hasRequiredOptions (line 800)

Check if product has required options

  • access: public
bool hasRequiredOptions ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
isComposite (line 668)

Check if product is composite (grouped, configurable, etc)

  • access: public
bool isComposite ([Mage_Catalog_Model_Product $product = null])
isSalable (line 280)

Check is product available for sale

  • access: public
bool isSalable ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
isVirtual (line 269)

Check is virtual product

  • access: public
bool isVirtual ([Mage_Catalog_Model_Product $product = null])

Redefined in descendants as:
prepareForCart (line 407)

Initialize product(s) for add to cart process

  • access: public
array|string prepareForCart ( $buyRequest, [Mage_Catalog_Model_Product $product = null])
prepareForCartAdvanced (line 390)

Initialize product(s) for add to cart process.

Advanced version of func to prepare product for cart - processMode can be specified there.

  • access: public
array|string prepareForCartAdvanced ( $buyRequest, [Mage_Catalog_Model_Product $product = null], [null|string $processMode = null])
prepareQuoteItemQty (line 849)

Prepare Quote Item Quantity

  • access: public
float prepareQuoteItemQty (mixed $qty, [ $product = null])
  • mixed $qty
  • $product

Redefined in descendants as:
processBuyRequest (line 935)

Prepare selected options for product

  • access: public
array processBuyRequest (Mage_Catalog_Model_Product $product, Varien_Object $buyRequest)

Redefined in descendants as:
processConfiguration (line 372)

Process product configuaration

  • access: public
array|string processConfiguration ( $buyRequest, [Mage_Catalog_Model_Product $product = null], [string $processMode = self::PROCESS_MODE_LITE])
processFileQueue (line 416)

Process File Queue

  • access: public
save (line 625)

Save type related data

  • access: public

Redefined in descendants as:
setConfig (line 880)

Setting specified product type variables

  • access: public
Mage_Catalog_Model_Product_Type_Abstract setConfig (array $config)
  • array $config
setProduct (line 122)

Specify type instance product

  • access: public
setStoreFilter (line 825)

Set store filter for associated products

  • access: public
Mage_Catalog_Model_Product_Type_Configurable setStoreFilter ([$store $store = null], [ $product = null])
  • $store $store: int|Mage_Core_Model_Store
  • $product
setTypeId (line 134)

Specify type identifier

  • access: public
Mage_Catalog_Model_Product_Type_Abstract setTypeId (string $typeId)
  • string $typeId
updateQtyOption (line 789)

Method is needed for specific actions to change given configuration options values according current product type logic Example: the cataloginventory validation of decimal qty can change qty to int, so need to change configuration item qty option value too.

  • access: public
object Mage_Catalog_Model_Product_Type_Abstract updateQtyOption (array $options,  $option, mixed $value, [ $product = null])
  • array $options
  • Varien_Object $option
  • mixed $value
  • $product

Redefined in descendants as:
  • Mage_Bundle_Model_Product_Type::updateQtyOption() : Method is needed for specific actions to change given quote options values according current product type logic Example: the cataloginventory validation of decimal qty can change qty to int, so need to change quote item qty option value too.
_isStrictProcessMode (line 480)

Check if current process mode is strict

  • access: protected
bool _isStrictProcessMode (string $processMode)
  • string $processMode
_prepareOptions (line 503)

Process custom defined options for product

  • access: protected
array _prepareOptions ( $buyRequest, Mage_Catalog_Model_Product $product, string $processMode)
_prepareOptionsForCart (line 541)

Process product custom defined options for cart

array _prepareOptionsForCart ( $buyRequest, [Mage_Catalog_Model_Product $product = null])
_prepareProduct (line 302)

Prepare product and its configuration to be added to some products list.

Perform standard preparation process and then prepare options belonging to specific product type.

  • access: protected
array|string _prepareProduct ( $buyRequest, Mage_Catalog_Model_Product $product, string $processMode)

Redefined in descendants as:
_removeNotApplicableAttributes (line 635)

Remove don't applicable attributes data

  • access: protected
void _removeNotApplicableAttributes ([Mage_Catalog_Model_Product $product = null])
Class Constants
CALCULATE_CHILD = 0 (line 100)
CALCULATE_PARENT = 1 (line 101)
PROCESS_MODE_FULL = 'full' (line 113)

Process modes

PROCESS_MODE_LITE = 'lite' (line 114)
SHIPMENT_SEPARATELY = 1 (line 107)

values for shipment type (invoice etc)

SHIPMENT_TOGETHER = 0 (line 108)

Documentation generated on Fri, 11 Feb 2011 16:55:02 +0200 by phpDocumentor 1.4.3