Demystified Magento Product Types
Fabrizio Branca (@fbrnc) - San Francisco Magento Meetup – December, 2014
or: “How to design a product catalog”
Types Product
Simple Configurable Grouped Virtual Bundle Downloadable
Simple Configurable Grouped Virtual Bundle Downloadable
Mage_Catalog Mage_Bundle Mage_Downloadable
Giftcard
Enterprise_GiftCard
+
Modules
Simple Configurable Grouped Virtual Bundle Downloadable
isComposite
Simple Configurable* Grouped Virtual Bundle* Downloadable
isVirtual
* if child products are virtual
Simple Configurable Grouped Virtual Bundle Downloadable*
canConfigure
* if product has links that can be purchased seperately
Mage_Catalog_Model_Product_Type_*
Mage_Catalog_Model_Product
Product vs. Type
getTypeInstance()
isComposite()
canConfigure()
getIsVirtual()
…
facade/proxy
Mage_Catalog_Model_Product_Type_Abstract
Mage_Catalog_Model_Product_Type_Simple
Mage_Catalog_Model_Product_Type_Grouped
Mage_Catalog_Model_Product_Type_Configurable
Mage_Catalog_Model_Product_Type_Virtual
Mage_Downloadable_Model_Product_Type
Mage_Bundle_Model_Product_Type
Enterprise_GiftCard_Model_Catalog_Product_Type_Giftcard
Attributes SKU:
Description:
Color:
Size:
Brand:
Weight:
+
General
Prices
Taxes
Images
Inventory
Product Links
+
Attribute Types
“Visible on Product View Page on Front-end”
“Use in Layered Navigation”
Attribute Sets
Attribute Groups
Status
ENABLED
class Mage_Catalog_Model_Product_Status extends Mage_Core_Model_Abstract { const STATUS_ENABLED = 1; const STATUS_DISABLED = 2;
weird, huh?
Visibility
Not Visible
Individually
Catalog
only
Search
only
+
Catalog and
Search
Scopes
Global
Website
Store
Scopes
Global
Website
Store
Scopes
Global
Website
Store
Scopes
http://fbrnc.net/blog/2012/02/magento-website-store-groups-store-views
Global
Website Website
Store Group Store Group
Store View Store View
Websites ☐ Website A
☒ Website B
☐ Website C ☒ Website D ☐ Website E
Store 1 Store 2
Store 3 Store 4 Store 5
Categories
attached to a “store group”
Controls on which websites it shows up
Root category
http://www.aschroder.com/2010/07/why-are-my-magento-products-not-showing-up/
Why are my products not showing up?!
☑ Are they in stock?
☑ Are they enabled?
☑ Are they visible?
☑ Are any child products in stock?
☑ Are they in the expected category?
☑ Did you clear the cache?
☑ Did you reindex?
Lifecycle catalog (catalog price rules), cart (shipping cart price rules) (quote
Catalog Cart (=Quote) Order Archive
add to cart checkout archive
Magento EE
workflow
(status, state)
Catalog Price Rules
Shopping Cart Price Rules
blueprint -> instance (copy)
Products Simple
http://demo.magentocommerce.com/home-decor/electronics/madison-earbuds.html
Options Custom
Mage_Catalog_Model_Product_Option
Mage_Catalog_Model_Product
Product Options
getOptionInstance()
getProductOptionsCollection()
…
facade/proxy
getType()
getValue()
…
Links Product
Mage_Catalog_Model_Product_Link
Mage_Catalog_Model_Product
Product Links
getLinkInstance()
getRelatedProducts()
getUpSellProducts()
getCrossSellProducts()
…
facade/proxy
const LINK_TYPE_RELATED = 1;
const LINK_TYPE_GROUPED = 3;
const LINK_TYPE_UPSELL = 4;
const LINK_TYPE_CROSSSELL = 5;
up-sells
Magento EE allows setting these up with dynamic rules…
Products Configurable
same attribute set
“super-attributes”
simple, virtual or downloadable (= non composite)
red color
green blue white yellow
Super-Attributes
color
size
S
M
L
XL
red green blue white yellow
Super-Attributes
color
size
men
women
S
M
L
XL
red green blue white yellow
Super-Attributes
gender
color
size
gender
Super-Attributes
color
size
gender
red, XL, woman
Super-Attributes
http://demo.magentocommerce.com/women/tops-blouses/nolita-cami-496.html
Products Grouped
+ + show up as
separate line items
http://demo.magentocommerce.com/luggage-set.html
Products Bundle
options
selections
http://demo.magentocommerce.com/home-decor/bed-bath/pillow-and-throw-set.html
Products Downloadable
http://demo.magentocommerce.com/home-decor/books-music/around-the-world-in-80-days.html
http://www.solvingmagento.com
Thank you! Any questions?
{firstname}.{lastname}@aoe.com
http://www.aoe.com
http://fbrnc.net
@fbrnc Follow me on twitter!
My blog
Top Related