Full Page Cache: Enterprise PageCache Model Container Placeholder
How to work/flow Enterprise_PageCache_Model_Container_Placeholder class in Magento?
(Magento EE 1.13.0.2)Object: $this => Enterprise_PageCache_Model_Container_PlaceholderFollowing constant is used in above class:
- const HTML_NAME_PATTERN = ‘//i’
Following variables is used in above class:
- $_definitionMap
- $_definition
- $_name
- $_attributes
Some important functions and its purpose used in this class:
- getName(): This function is used for to get placeholder name.
- getDefinition(): Get defination of placeholder.
- getAttribute(): This function is used for get attribute by specific code.
- getReplacer(): This function is used for get placeholder content replacer.
- getStartTag(): This function return placeholder start tag for block html generation.
- getEndTag(): This function return placeholder end tag for block html generation.
Functions in class Enterprise_PageCache_Model_Container_Placeholder
There are 10 functions used in class Enterprise_PageCache_Model_Container_Placeholder
- /**Class constructor.
* Initialize placeholder name and attributes based on definition
* @param string $definition **/
public function __construct($definition){} - /**Get placeholder name
* @return string **/
public function getName()
{
return $this->_name;
} - /**Get placeholder definition
* @return string **/
public function getDefinition()
{
return $this->_definition;
} - /**Get attribute by specific code
* @param $code string
* @return string **/
public function getAttribute($code)
{
return isset($this->_attributes[$code]) ? $this->_attributes[$code] : null;
} - /**Get regular expression pattern to replace placeholder content
* @return string **/
public function getPattern()
{
return ‘/’ . preg_quote($this->getStartTag(), ‘/’) . ‘(.*?)’ . preg_quote($this->getEndTag(), ‘/’) . ‘/ims’;
} - /**Get placeholder content replacer
* @return string **/
public function getReplacer(){} - /**Get class name of container related with placeholder
* @return string **/
public function getContainerClass()
{
$class = $this->getAttribute(‘container’);
if (strpos($class, ‘/’) !== false) {
return Mage::getConfig()->getModelClassName($class);
}
return $class;
} - ** Retrieve placeholder definition hash
* @return string **/
protected function _getDefinitionHash()
{
$definition = $this->getDefinition();
$result = array_search($definition, self::$_definitionMap);
if ($result === false) {
$result = $this->getName() . ‘_’ . md5($definition);
self::$_definitionMap[$result] = $definition;
}
return $result;
} - **Get placeholder start tag for block html generation
*
* @return string
*/
public function getStartTag()
{
return ‘‘;
} - /**Get placeholder end tag for block html generation
* @return string **/
public function getEndTag()
{
return ‘‘;
}
Variation of sample data for different pages (Homepage, Product Listing Page, Product Info Page)
Variables: These values for Homepage
URL: https://localhost/oscp-store/mage-ent-test
$_definitionMap = array
- /** Associative array of definition hash to informative definition **/
WELCOME_8e20186cee9cf7a5a5d1e0bc75ddfec3 = WELCOME
container = “Enterprise_PageCache_Model_Container_Welcome”
block = “Mage_Page_Block_Html_Welcome”
cache_id = “bf3668918d4f26657cdbfe6550c62f39a86211ba”
cache_lifetime = “86400”
template =”” - $_definition=/***Original placeholder definition based on HTML_NAME_PATTERN **/
WELCOME
container = “Enterprise_PageCache_Model_Container_Welcome”
block = “Mage_Page_Block_Html_Welcome”
cache_id = “bf3668918d4f26657cdbfe6550c62f39a86211ba”
cache_lifetime = “86400”
template=”” - $_name = WELCOME (Placeholder name)
- $_attributes = /** * Placeholder attributes **/
Array [5] container = Enterprise_PageCache_Model_Container_Welcome
block = Mage_Page_Block_Html_Welcome
cache_id = bf3668918d4f26657cdbfe6550c62f39a86211ba
cache_lifetime = 86400
template =
Variables: These values for product listing page
URL: https://localhost/oscp-store/mage-ent-test/furniture/living-room
- $_definitionMap = Array [2]
[0]WELCOME_8e20186cee9cf7a5a5d1e0bc75ddfec3 = WELCOME
container = “Enterprise_PageCache_Model_Container_Welcome”
block = “Mage_Page_Block_Html_Welcome”
cache_id = “bf3668918d4f26657cdbfe6550c62f39a86211ba”
cache_lifetime = “86400”
template=””[1]ACCLINKS_ef551a42665572f16be6f8a990c96b37 = ACCLINKS
container =”Enterprise_PageCache_Model_Container_Accountlinks”
block = “Mage_Page_Block_Template_Links”
cache_id = “b8f9b3383abc7a26a71bfdc86c4a9d5bff6e3693”
cache_lifetime = “86400”
template = “page/template/links.phtml”
links = garbage value
name=”account.links” - $_definition = CART_SIDEBAR
container = “Enterprise_PageCache_Model_Container_Sidebar_Cart”
block = “Mage_Checkout_Block_Cart_Sidebar”
cache_id = “3ee95d5974c12590e902688083b2097637487b5d” cache_lifetime=”86400″
template = “checkout/cart/cartheader.phtml” item_renders=”default|checkout/cart_item_renderer|
checkout/cart/sidebar/default.phtml|simple|checkout/cart_item_renderer|
checkout/cart/sidebar/default.phtml|grouped|checkout/cart_item_renderer_grouped|
checkout/cart/sidebar/default.phtml|configurable|
checkout/cart_item_renderer_configurable|checkout/cart/sidebar/default.phtml|bundle|
bundle/checkout_cart_item_renderer|checkout/cart/sidebar/default.phtml” - $_name = CART_SIDEBAR
- $_attributes = Array [6]
container = Enterprise_PageCache_Model_Container_Sidebar_Cart
block = Mage_Checkout_Block_Cart_Sidebar
cache_id = 3ee95d5974c12590e902688083b2097637487b5d
cache_lifetime = 86400
template = checkout/cart/cartheader.phtml
item_renders = default|checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|simple|
checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|grouped|
checkout/cart_item_renderer_grouped|checkout/cart/sidebar/default.phtml|configurable|
checkout/cart_item_renderer_configurable|checkout/cart/sidebar/default.phtml|bundle|
bundle/checkout_cart_item_renderer|checkout/cart/sidebar/default.phtml
Variables: These values for product Info page
URL: https://localhost/oscp-store/mage-ent-test/furniture/living-room/couch.html
- $_definitionMap = Array [3]
[0]WELCOME_8e20186cee9cf7a5a5d1e0bc75ddfec3 = WELCOME
container = “Enterprise_PageCache_Model_Container_Welcome”
block = “Mage_Page_Block_Html_Welcome”
cache_id = “bf3668918d4f26657cdbfe6550c62f39a86211ba”
cache_lifetime = “86400”
template=””[1]ACCLINKS_ef551a42665572f16be6f8a990c96b37 = ACCLINKS
container =”Enterprise_PageCache_Model_Container_Accountlinks”
block =”Mage_Page_Block_Template_Links”
cache_id = “b8f9b3383abc7a26a71bfdc86c4a9d5bff6e3693”
cache_lifetime = “86400”
template = “page/template/links.phtml”
links = garbage value
name=”account.links”[2]CART_SIDEBAR_ccd944c424b10c67d0f564f5cd4534e0 = CART_SIDEBAR
container = “Enterprise_PageCache_Model_Container_Sidebar_Cart”
block = “Mage_Checkout_Block_Cart_Sidebar”
cache_id = “3ee95d5974c12590e902688083b2097637487b5d”
cache_lifetime = “86400”
template = “checkout/cart/cartheader.phtml”
item_renders = “default|checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|simple|
checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|grouped|
checkout/cart_item_renderer_grouped|checkout/cart/sidebar/default.phtml|configurable|
checkout/cart_item_renderer_configurable|checkout/cart/sidebar/default.phtml|bundle|
bundle/checkout_cart_item_renderer|checkout/cart/sidebar/default.phtml” - $_definition = CART_SIDEBAR
container =”Enterprise_PageCache_Model_Container_Sidebar_Cart”
block = “Mage_Checkout_Block_Cart_Sidebar”
cache_id = “3ee95d5974c12590e902688083b2097637487b5d”
cache_lifetime = “86400”
template = “checkout/cart/cartheader.phtml”
item_renders = “default|checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|simple|
checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|grouped|
checkout/cart_item_renderer_grouped|checkout/cart/sidebar/default.phtml|configurable|
checkout/cart_item_renderer_configurable|checkout/cart/sidebar/default.phtml|bundle|
bundle/checkout_cart_item_renderer|checkout/cart/sidebar/default.phtml” - $_name = CART_SIDEBAR
- $_attributes = Array [6]
container = Enterprise_PageCache_Model_Container_Sidebar_Cart
block = Mage_Checkout_Block_Cart_Sidebar
cache_id = 3ee95d5974c12590e902688083b2097637487b5d
cache_lifetime = 86400
template = checkout/cart/cartheader.phtml
item_renders = default|checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|simple|
checkout/cart_item_renderer|checkout/cart/sidebar/default.phtml|grouped|
checkout/cart_item_renderer_grouped|checkout/cart/sidebar/default.phtml|configurable|
checkout/cart_item_renderer_configurable|checkout/cart/sidebar/default.phtml|bundle|
bundle/checkout_cart_item_renderer|checkout/cart/sidebar/default.phtml