##Choose optimal catalog structure (EAV vs. Flat) for a given implementation
The main goal is to keep Magento as extendable as possible while minimising the amount of operations to display a entity to the user. With this in mind enabling flat storage for products is recommended as then Magento doesn’t have to perform as many joins.
##Implement, troubleshoot, and modify Magento tax rules
##Modify, extend, and troubleshoot the Magento layered (“filter”) navigation
Filters all extend from
Mage_Catalog_Model_Layer_Filter_Abstract’ meaning if a filter is broken its best off looking in here.
To create your own filter
##Troubleshoot and customize Magento indexes
- Index Model
- Catalog Indexers
- Inventory Index
To add your own indexer you will need to add a node the configuration tree in
etc/config.xml within your module.
You can call your indexer class what you would like, however the convention is to use the
There are 3 required methods in your class to get your indexer to work:
##Describe custom product options in Magento
Custom options are similar to configurable products however they aren’t their own entity. You can see the custom option module in
The Magento catalog module doesn’t only consist of categories and products: a lot of additional catalog functionality is implemented, partly within the Mage_Catalog module, partly in other modules.
Custom options are saved in tables with a
###When and how are the catalog flat tables updated when a product is modified?
When the “Product Flat Data” index is run or
###Which factors are used by the Mage_Tax module to apply the correct tax rate (or rates) to a product price?
- Customer Group
- Catalog Prices Configuration (Including/Excluding VAT)
- Product Tax Class
- Store Scope Settings
###How can attributes with custom source models be integrated into layered navigation filtering?
To add an attribute with a custom source model you will need to create your own filter class which extends
###Which classes are responsible for rendering the layered navigation?
###Which indexes are used for the layered navigation?
The “Product Attributes” index which can be found
###Which steps are needed to integrate a custom indexer into the framework offered by the Mage_Index module?
###How are custom product options stored on quote and order items?
###How can you specify custom product options on-the-fly on quote items?
###How are custom product options copied from quote to order items?
###How are custom product options processed when a product is added to the cart?