How to work/flow Enterprise_PageCache_Model_Config class in Magento? (Magento EE 1.13.0.2)

Object: $this => Enterprise_PageCache_Model_Config

Following constants is used in above class: no variables

Following variables is used in above class:

  • $_placeholders

Some important functions and their purpose used in this class:

  • initPlaceholders(): This function initialized all declared placeholders as array.
  • getDeclaredPlaceholders(): Retrieve all declared placeholders as array.
  • getBlockPlaceholder(): This function is used to create placeholder object based on block information.

Functions in class Enterprise_PageCache_Model_Config

  • /**
         * Class constructor
         * load cache configuration
         *
         * @param $data
         */
        public function __construct($data = null)
        {
    	}
    
  • /**
         * Initialize all declared placeholders as array
         * @return Enterprise_PageCache_Model_Config
         */
        protected function _initPlaceholders()
        {
            if ($this->_placeholders === null) {
                $this->_placeholders = array();
                foreach ($this->getNode('placeholders')->children() as $placeholder)
    			{
                    $this->_placeholders[(string)$placeholder->block][] = array(
                    'container'=> (string)$placeholder->container,
                    'code' => (string)$placeholder->placeholder,
                    'cache_lifetime'=> (int) $placeholder->cache_lifetime,
                    'name'=> (string) $placeholder->name
                    );
                }
            }
            return $this;
        }
    
  • /**
         * Retrieve all declared placeholders as array
         *
         * @return array
         */
        public function getDeclaredPlaceholders()
        {
            $this->_initPlaceholders();
            return $this->_placeholders;
        }
  • /**
         * Create placeholder object based on block information
         *
         * @param Mage_Core_Block_Abstract $block
         * @return Enterprise_PageCache_Model_Container_Placeholder
         */
        public function getBlockPlaceholder($block)
        {
       }

Variation of sample data for different pages (Homepage, Product Listing Page, Product Info Page)
Variables: These values for Homepage :
URL : https://localhost/oscp-store/magento_enterprise/

$_placeholders =>array[19]

  •  reports/product_viewed = array[1]
     [0] = array[4]
          container = Enterprise_PageCache_Model_Container_Viewedproducts
          code = VIEWED_PRODUCTS
          cache_lifetime = 86400
          name = ""
  • reports/product_widget_viewed = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Viewedproducts
    code = VIEWED_PRODUCTS
    cache_lifetime = 86400
    name = “”
  • page/html_topmenu = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Catalognavigation
    code = TOPMENU
    cache_lifetime = 86400
    name = “catalog.topnav”
  • page/html_topmenu = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Catalognavigation
    code = TOPMENU
    cache_lifetime = 86400
    name = “catalog.topnav”
  • heckout/cart_sidebar = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Sidebar_Cart
    code = CART_SIDEBAR
    cache_lifetime = 86400
    name = “
  • catalog/product_compare_sidebar = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Sidebar_Comparelist
    code = COMPARELIST_SIDEBAR
    cache_lifetime = 86400
    name = “
  • core/messages = array[2] [0] = array[4] container = Enterprise_PageCache_Model_Container_Messages
    code = MESSAGES
    cache_lifetime = 86400
    name = “messages”[1] = array[4] container = Enterprise_PageCache_Model_Container_Messages
    code = GLOBAL_MESSAGES
    cache_lifetime = 86400
    name = “global_messages”
  • reports/product_compared = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Sidebar_Recentlycompared
    code = RECENTLYCOMPARED_SIDEBAR
    cache_lifetime = 86400
    name = “”
  • reports/product_compared = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Sidebar_Recentlycompared
    code = RECENTLYCOMPARED_SIDEBAR
    cache_lifetime = 86400
    name = “”
  • page/html_welcome = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Welcome
    code = WELCOME
    cache_lifetime = 86400
    name = “”
  • page/template_links = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Accountlinks
    code = ACCLINKS
    cache_lifetime = 86400
    name = “account.links”
  • enterprise_wishlist/customer_sidebar = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Wishlist
    code = WISHLIST
    cache_lifetime = 86400
    name = “”
  • sales/reorder_sidebar = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Orders
    code = ORDERS
    cache_lifetime = 86400
    name = “”
  • enterprise_wishlist/links = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Wishlistlinks
    code = WISHLISTLINKS
    cache_lifetime = 86400
    name = “”
  • poll/activePoll = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Sidebar_Poll
    code = POLL
    cache_lifetime = 86400
    name = “”
  • enterprise_banner/widget_banner = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Banner
    code = WIDGET_ENTERPRISE_BANNER
    cache_lifetime = 86400
    name = “”
  • nterprise_targetrule/catalog_product_item = array[2] [0] = array[4] container = Enterprise_PageCache_Model_Container_CatalogProductItem
    code = CATALOG_PRODUCT_ITEM_RELATED
    cache_lifetime = 86400
    name = “catalog.product.related.item”
    [1] = array[4] container = Enterprise_PageCache_Model_Container_CatalogProductItem
    code = CATALOG_PRODUCT_ITEM_UPSELL
    cache_lifetime = 86400
    name = “catalog.product.upsell.item”
  • enterprise_giftcard/catalog_product_view_type_giftcard_form = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Giftcard
    code = GIFTCARD
    cache_lifetime = 86400
    name = “product.info.giftcard.form”
  • catalog/product_list_related = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_CatalogProductList
    code = CATALOG_PRODUCT_LIST_RELATED
    cache_lifetime = 86400
    name = “catalog.product.related”
  • catalog/product_list_upsell = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_CatalogProductList
    code = CATALOG_PRODUCT_LIST_UPSELL
    cache_lifetime = 86400
    name = “product.info.upsell”
  • enterprise_wishlist/behaviour = array[1] [0] = array[4] container = Enterprise_PageCache_Model_Container_Wishlists
    code = WISHLISTS
    cache_lifetime = 86400
    name = “”

Variables: Gives same output for Product Listing and Product View Page
Note: $_placeholders gives list of all placeholders for all page (Homepage, Product Listing and Product View Page) and also when logged-in.