Both referenceBlock
and referenceContainer
entities are used in layout in magento2.
What is the main difference between them and how can I relate these entities to magento1.*.
1 Answer
basically containers are the equivalent of the core/text_list
blocks in magento 1.
"philosophically" they work the same, the only difference is that containers
are predefined blocks that only support other child blocks.
Some examples are content
, after.body.start
, header-wrapper
.
You can see all defined containers for example in the Magento/Theme/view/base/page_layout/*
.
Here is an example from empty.xml
.
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_layout.xsd">
<container name="root">
<container name="after.body.start" as="after.body.start" before="-" label="Page Top"/>
<container name="page.wrapper" as="page_wrapper" htmlTag="div" htmlClass="page-wrapper">
<container name="global.notices" as="global_notices" before="-"/>
<container name="main.content" htmlTag="main" htmlId="maincontent" htmlClass="page-main">
<container name="columns.top" label="Before Main Columns"/>
<container name="columns" htmlTag="div" htmlClass="columns">
<container name="main" label="Main Content Container" htmlTag="div" htmlClass="column main"/>
</container>
</container>
<container name="page.bottom" as="page_bottom" label="Before Page Footer Container" after="main.content" htmlTag="div" htmlClass="page-bottom"/>
<container name="before.body.end" as="before_body_end" after="-" label="Page Bottom"/>
</container>
</container>
</layout>
basically what's defined as <container name="..." />
can be accessed by referenceContainer
. what's declared as <block .... />
can be referenced by referenceBlock
-
I want to add a custom static cms block under the price on PDP page, the alignment not properly set. Workout : code - justpaste.it/35xpq path (custom theme) - app/design/frontend/Codazon/fastest/grocery_gourmet/Magento_Catalog/layout/catalog_product_view.xml– zusCommented Oct 20, 2020 at 9:56