https magento stackexchange com questions 79708 magento 2 call a static block using xml with code examples

Magento is an open-source eCommerce platform that helps businesses build and manage their online stores. One of the most important features in Magento is the ability to utilize static blocks. Static blocks are pieces of content that appear on your website but are not part of the main body of your pages. They are great for displaying information like company information, promotions, and other call-to-action messages.

In Magento 2, static blocks can be added to your website using XML by following a few simple steps. This article will guide you through the process of calling a static block using XML in Magento 2 with code examples.

Step 1: Create a Static Block

The first step in calling a static block using XML is to create the static block itself. To create a new static block, navigate to your Magento 2 admin panel, and select ‘Content’ from the left-hand sidebar. From there, choose ‘Blocks’ and then click ‘Add New Block.’

Next, give your block a name, identifier, and select the store view(s) where you want it to appear. In the content area, you can add the text, images, or any other elements you want to appear in the static block. Once you have finished creating your static block, click ‘Save and Continue Edit.’

Step 2: Create a Layout File

Next, you will need to create a layout file. A layout file is a collection of instructions that tell Magento where to place different elements of your website. In this case, we will be using a layout file to tell Magento where to place our static block.

To create a new layout file, navigate to the app/design/frontend/{Vendor}/{Theme}/Magento_Cms/layout directory and create a new file with .xml extension. For example, if your theme is named MyTheme and your vendor is named MyVendor, you would navigate to app/design/frontend/MyVendor/MyTheme/Magento_Cms/layout and create a file named cms_index_index.xml.

Step 3: Use XML to Call the Static Block

Once you have created your layout file, you can use XML to call your static block. In the layout file, add the following code:

<referenceContainer name=”content”>
    <block class=”Magento\Cms\Block\Block” name=”{your_block_identifier}”>
            <argument name=”block_id” xsi:type=”string”>{your_block_identifier}</argument>

Replace {your_block_identifier} with the identifier you chose for your static block. This will add your static block to the main content area of your page. If you want to add the block to a different location on your page, replace content with the name of the container where you want the block to appear.

In addition to adding the static block to your page, the above code also tells Magento to use the Magento\Cms\Block\Block class to render your static block.

Step 4: Clear Cache and Verify Changes

After adding the XML code, you’ll need to clear Magento’s cache so that your changes take effect. You can do this by navigating to System → Cache Management and selecting ‘Flush Magento Cache.’

Once you have cleared the cache, navigate to the page where you added the static block and verify that it appears as expected.


Magento 2 provides an easy way to add static blocks to your website using XML. By following the steps outlined in this article, you can easily call your custom static block using XML code. Make sure to choose a unique block identifier, ensure that your block is properly displayed in the content area, and verify that your changes have been properly cleared and are taking effect. With these steps, you’ll be able to add dynamic and informative elements to your Magento store that will make your site more engaging and compelling for visitors.

Magento is a popular open-source eCommerce platform that offers a wide range of features and benefits for businesses looking to set up and manage online stores. In addition to its robust eCommerce functionality, Magento also offers a wide range of customization options that allow businesses to tailor their online stores to best meet their unique needs and branding.

One of the most useful features of Magento is the ability to utilize static blocks. Static blocks are essentially blocks of content that can be displayed on your website pages without being part of the main body of your page content. They are often used to display important information like store hours, shipping information, or company information that visitors can easily access as they browse through your website.

In Magento 2, static blocks can be added using a variety of methods, including XML, the Magento 2 admin panel, and through custom code. While the admin panel is the easiest option for creating and managing static blocks, utilizing XML offers a level of flexibility and customization that can be advantageous for businesses with more complex needs.

When utilizing XML to add static blocks to your Magento 2 website, there are a few key steps to follow. These include creating the static block itself, creating a layout file that will contain the code to call the static block on your website page, and using XML to call the static block in your chosen location on your website page.

By following these steps, you can easily add static blocks to your Magento 2 website using XML code. This not only allows you to add important information and calls-to-action to your website, but also gives you the ability to customize and tailor the content to best meet your business needs and branding. With this flexibility and functionality, Magento 2 is an excellent choice for businesses looking to set up and manage their online stores in an efficient and effective manner.

Popular questions

  1. What are some common uses for static blocks in Magento 2?

Common uses for static blocks in Magento 2 include displaying important information like store hours or shipping information, promoting sales or special offers, displaying company information or brand messaging, or showcasing product images or videos.

  1. What is the advantage of using XML to call a static block in Magento 2?

Using XML to call a static block in Magento 2 offers greater flexibility and customization options than other methods. It allows you to specify the exact location of the block on your website page and choose the class used to render the block.

  1. What is the difference between a static block and a regular block in Magento 2?

The main difference between a static block and a regular block in Magento 2 is that a static block is not part of the main body content of a page. It is standalone and can be displayed in a variety of locations on a page, without affecting the main content.

  1. Can you call multiple static blocks using XML in Magento 2?

Yes, you can call multiple static blocks using XML in Magento 2. Simply create additional blocks in your layout file with unique names and identifiers and reference them where needed in your XML code.

  1. How do you clear Magento’s cache after making changes to a static block?

To clear Magento’s cache after making changes to a static block (or any other aspect of your website), navigate to System – Cache Management in the Magento admin panel and select ‘Flush Magento Cache’. This will clear all cache types affected by your changes.



As an experienced software engineer, I have a strong background in the financial services industry. Throughout my career, I have honed my skills in a variety of areas, including public speaking, HTML, JavaScript, leadership, and React.js. My passion for software engineering stems from a desire to create innovative solutions that make a positive impact on the world. I hold a Bachelor of Technology in IT from Sri Ramakrishna Engineering College, which has provided me with a solid foundation in software engineering principles and practices. I am constantly seeking to expand my knowledge and stay up-to-date with the latest technologies in the field. In addition to my technical skills, I am a skilled public speaker and have a talent for presenting complex ideas in a clear and engaging manner. I believe that effective communication is essential to successful software engineering, and I strive to maintain open lines of communication with my team and clients.
Posts created 3227

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top