{"id":14006,"date":"2017-08-16T15:30:35","date_gmt":"2017-08-16T12:30:35","guid":{"rendered":"https:\/\/belvg.com\/blog\/?p=14006"},"modified":"2019-03-20T08:50:14","modified_gmt":"2019-03-20T06:50:14","slug":"the-programmatic-structure-of-blocks-in-magento-1-and-2","status":"publish","type":"post","link":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html","title":{"rendered":"The Programmatic Structure of Blocks in Magento 1 and 2"},"content":{"rendered":"<h2>What are blocks used for in Magento?<\/h2>\n<p><span style=\"font-weight: 400;\">Blocks in both Magento versions 1 and 2 are divided into two types:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Structural blocks<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Content blocks<!--more--><\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">In Magento 2 containers which allow separating structural and content blocks have been added. The key distinction between containers and blocks is that containers don&#8217;t use phtml templates, but keep the set of content blocks. While content blocks have their own templates and are rendered on the page within containers. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here is the example:<\/span><\/p>\n<pre class=\"lang:php decode:true\">&lt;container name=\"checkout.cart.top.step.container\" htmlTag=\"div\"\r\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;before=\"checkout.cart.top.div\"&gt;\r\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;block class=\"Magento\\Framework\\View\\Element\\Template\"\r\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;name=\"checkout.cart.top.step\" template=\"Magento_Checkout::stepcheckout.phtml\"&gt;\r\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;\/block&gt;\r\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;\/container&gt;\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">As you can see, we place the block <\/span><i><span style=\"font-weight: 400;\">checkout.cart.top.step <\/span><\/i><span style=\"font-weight: 400;\">with the template <\/span><i><span style=\"font-weight: 400;\">Magento_Checkout::stepcheckout.phtml<\/span><\/i><span style=\"font-weight: 400;\"> within the container <\/span><i><span style=\"font-weight: 400;\">checkout.cart.top.div<\/span><\/i><span style=\"font-weight: 400;\">. Consequently, when containers output all blocks the container keeps will be displayed.<\/span><\/p>\n<h2>What is the parent block for all Magento blocks?<\/h2>\n<p><span style=\"font-weight: 400;\">In Magento 1 all blocks are inherited from <em>Mage_Core_Block_Abstract<\/em>.<\/span><br \/>\n<span style=\"font-weight: 400;\">In Magento 2 all blocks are inherited from <em>Magento\\Framework\\View\\Element\\AbstractBlock.<\/em><\/span><\/p>\n<h2>Which class does each block that uses a template extend?<\/h2>\n<p><span style=\"font-weight: 400;\">In Magento 1 all blocks using templates are inherited from <em>Mage_Core_Block_Template<\/em>, which is in its turn inherited from <em>Mage_Core_Block_Abstract<\/em>.<\/span><br \/>\n<span style=\"font-weight: 400;\">In Magento 2 it is inherited from <em>Magento\\Framework\\View\\Element\\Template<\/em>, which is also inherited from <em>Magento\\Framework\\View\\Element\\AbstractBlock. <\/em><\/span><\/p>\n<h2>In which way does a template block store information about its template file?<\/h2>\n<p><span style=\"font-weight: 400;\">In Magento 1 all templates are described with regard to the theme. For example, if you use the theme from the package<\/span><i><span style=\"font-weight: 400;\"> base <\/span><\/i><span style=\"font-weight: 400;\">with the name <\/span><i><span style=\"font-weight: 400;\">default<\/span><\/i><span style=\"font-weight: 400;\">, so when using the template <em>checkout\/onepage\/link.phtm<\/em>l, the file from <em>app\/design\/frontend\/base\/default\/checkout\/onepage\/link.phtml<\/em> will be used. <\/span><br \/>\n<span style=\"font-weight: 400;\">In Magento 2 module scope has been added, but it&#8217;s non-mandatory. As an example, let&#8217;s compare layout code for Magento 1:<\/span><span style=\"font-weight: 400;\">&#160; &#160;<\/span><\/p>\n<pre class=\"lang:php decode:true \">&lt;block type=\"checkout\/onepage_link\" name=\"checkout.cart.methods.onepage\" template=\"checkout\/onepage\/link.phtml\"\/&gt;<\/pre>\n<p><span style=\"font-weight: 400;\">Here is in Magento 2: <\/span><\/p>\n<pre class=\"lang:php decode:true \">&lt;block class=\"Magento\\Checkout\\Block\\Onepage\\Link\" name=\"checkout.cart.methods.onepage.bottom\" template=\"Magento_Checkout:onepage\/link.phtml\" \/&gt;<\/pre>\n<p><span style=\"font-weight: 400;\">In this case<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">the template <\/span><i><span style=\"font-weight: 400;\">onepage\/link.phtml<\/span><\/i><span style=\"font-weight: 400;\"> will use the template <\/span><i><span style=\"font-weight: 400;\">vendor\/magento\/module-checkout\/view\/frontend\/templates\/onepage\/link.phtml<\/span><\/i><span style=\"font-weight: 400;\"> (if the template hasn&#8217;t changed) or <em>app\/design\/frontend\/base\/default\/Magento_Checkout\/templates\/onepage\/link.phtml<\/em> (if the template has changed or you use the base\/default theme).<\/span><br \/>\n<span style=\"font-weight: 400;\">Moreover, in Magento 2 you needn&#8217;t specify module scope, if the template layout is within the module (in this context Magento_Checkout). <\/span><\/p>\n<pre class=\"lang:php decode:true \">&lt;block class=\"Magento\\Checkout\\Block\\Onepage\\Link\" name=\"checkout.cart.methods.onepage.bottom\" template=\"onepage\/link.phtml\" \/&gt;<\/pre>\n<p><span style=\"font-weight: 400;\">In Magento 1 there&#8217;s a possibility to specify the template by using the method <em>setTemplate<\/em> in the class <em>Mage_Core_Block_Template<\/em>.<\/span><br \/>\n<span style=\"font-weight: 400;\">In Magento 2 you can also use the method <em>setTemplate<\/em> in the class <em>Magento\\Framework\\View\\Element\\Template<\/em>.<\/span><\/p>\n<h2>Does it store an absolute or a relative path to the template?<\/h2>\n<p><span style=\"font-weight: 400;\">In Magento 2 as well as in Magento 1 a relative path to the template is used.<\/span><\/p>\n<h2>What is the role of the Mage_Core_Block_Abstract class?<\/h2>\n<p><span style=\"font-weight: 400;\">The given class (in Magento 2 <em>Magento\\Framework\\View\\Element\\AbstractBlock<\/em>) is the parent of all blocks and implements basic functional for them (for example, child elements addition and their removal, parent block data, data structure storage for a block). <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"What are blocks used for in Magento? Blocks in both Magento versions 1 and 2 &#8230;","protected":false},"author":53,"featured_media":14013,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_acf_changed":false,"footnotes":""},"categories":[35,14,389,471],"tags":[],"class_list":["post-14006","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-certification","category-magento","category-magento2-development","category-magento-developer","post_format-post-format-image"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"The comprehensive answers for the most popular questions about programmatic structure of blocks in Magento 1 and 2\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andrey Matveev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#article\",\"name\":\"Programmatic Structure of Blocks in Magento 1 and 2 | BelVG Blog\",\"headline\":\"The Programmatic Structure of Blocks in Magento 1 and 2\",\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-matveev#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/08\\\/The-Programmatic-Structure-of-Blocks-in-Magento-1-and-2.jpg\",\"width\":770,\"height\":290,\"caption\":\"The Programmatic Structure of Blocks in Magento 1 and 2\"},\"datePublished\":\"2017-08-16T15:30:35+02:00\",\"dateModified\":\"2019-03-20T08:50:14+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#webpage\"},\"articleSection\":\"Certification, Magento, Magento 2 Development, Magento Developer, Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"name\":\"Magento\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"position\":2,\"name\":\"Magento\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#listItem\",\"name\":\"The Programmatic Structure of Blocks in Magento 1 and 2\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#listItem\",\"position\":3,\"name\":\"The Programmatic Structure of Blocks in Magento 1 and 2\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"name\":\"Magento\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-matveev#author\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-matveev\",\"name\":\"Andrey Matveev\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/467dc0058a880f2df3e96b6915f6950312b99acc8c299295399fcde4f58ec75e?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andrey Matveev\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#webpage\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html\",\"name\":\"Programmatic Structure of Blocks in Magento 1 and 2 | BelVG Blog\",\"description\":\"The comprehensive answers for the most popular questions about programmatic structure of blocks in Magento 1 and 2\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-matveev#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-matveev#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/08\\\/The-Programmatic-Structure-of-Blocks-in-Magento-1-and-2.jpg\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html\\\/#mainImage\",\"width\":770,\"height\":290,\"caption\":\"The Programmatic Structure of Blocks in Magento 1 and 2\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#mainImage\"},\"datePublished\":\"2017-08-16T15:30:35+02:00\",\"dateModified\":\"2019-03-20T08:50:14+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Programmatic Structure of Blocks in Magento 1 and 2 | BelVG Blog","description":"The comprehensive answers for the most popular questions about programmatic structure of blocks in Magento 1 and 2","canonical_url":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#article","name":"Programmatic Structure of Blocks in Magento 1 and 2 | BelVG Blog","headline":"The Programmatic Structure of Blocks in Magento 1 and 2","author":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-matveev#author"},"publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/08\/The-Programmatic-Structure-of-Blocks-in-Magento-1-and-2.jpg","width":770,"height":290,"caption":"The Programmatic Structure of Blocks in Magento 1 and 2"},"datePublished":"2017-08-16T15:30:35+02:00","dateModified":"2019-03-20T08:50:14+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#webpage"},"isPartOf":{"@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#webpage"},"articleSection":"Certification, Magento, Magento 2 Development, Magento Developer, Image"},{"@type":"BreadcrumbList","@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/belvg.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","name":"Magento"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","position":2,"name":"Magento","item":"https:\/\/belvg.com\/blog\/category\/magento","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#listItem","name":"The Programmatic Structure of Blocks in Magento 1 and 2"},"previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#listItem","position":3,"name":"The Programmatic Structure of Blocks in Magento 1 and 2","previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","name":"Magento"}}]},{"@type":"Organization","@id":"https:\/\/belvg.com\/blog\/#organization","name":"BelVG Blog","description":"Magento and Prestashop articles","url":"https:\/\/belvg.com\/blog\/"},{"@type":"Person","@id":"https:\/\/belvg.com\/blog\/author\/andrey-matveev#author","url":"https:\/\/belvg.com\/blog\/author\/andrey-matveev","name":"Andrey Matveev","image":{"@type":"ImageObject","@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/467dc0058a880f2df3e96b6915f6950312b99acc8c299295399fcde4f58ec75e?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andrey Matveev"}},{"@type":"WebPage","@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#webpage","url":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html","name":"Programmatic Structure of Blocks in Magento 1 and 2 | BelVG Blog","description":"The comprehensive answers for the most popular questions about programmatic structure of blocks in Magento 1 and 2","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/belvg.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#breadcrumblist"},"author":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-matveev#author"},"creator":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-matveev#author"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/08\/The-Programmatic-Structure-of-Blocks-in-Magento-1-and-2.jpg","@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html\/#mainImage","width":770,"height":290,"caption":"The Programmatic Structure of Blocks in Magento 1 and 2"},"primaryImageOfPage":{"@id":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html#mainImage"},"datePublished":"2017-08-16T15:30:35+02:00","dateModified":"2019-03-20T08:50:14+02:00"},{"@type":"WebSite","@id":"https:\/\/belvg.com\/blog\/#website","url":"https:\/\/belvg.com\/blog\/","name":"BelVG Blog","description":"Magento and Prestashop articles","inLanguage":"en-US","publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"}}]}},"aioseo_meta_data":{"post_id":"14006","title":"Programmatic Structure of Blocks in Magento 1 and 2 | #site_title","description":"The comprehensive answers for the most popular questions about programmatic structure of blocks in Magento 1 and 2","keywords":null,"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-11-03 18:37:16","updated":"2026-11-03 18:37:16"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/category\/magento\" title=\"Magento\">Magento<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tThe Programmatic Structure of Blocks in Magento 1 and 2\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/belvg.com\/blog\/"},{"label":"Magento","link":"https:\/\/belvg.com\/blog\/category\/magento"},{"label":"The Programmatic Structure of Blocks in Magento 1 and 2","link":"https:\/\/belvg.com\/blog\/the-programmatic-structure-of-blocks-in-magento-1-and-2.html"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/14006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/comments?post=14006"}],"version-history":[{"count":-1,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/14006\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media\/14013"}],"wp:attachment":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media?parent=14006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/categories?post=14006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/tags?post=14006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}