skip to Main Content

Pretty much what the title says. I want to add the google map in a cms block and then call it in a form.phtml for Contact Page. How do I do it?

2

Answers


  1. To render an enabled CMS block in a phtml file in Magento 2, you can use the following code:

    <?php
    $blockId = 'your_block_identifier'; // Replace with your block identifier
    $objectManager = MagentoFrameworkAppObjectManager::getInstance();
    $block = $objectManager->create('MagentoCmsBlockBlock')->setBlockId($blockId);
    if ($block->getIsActive()) {
        echo $block->toHtml();
    }
    ?>
    

    Here’s a breakdown of the code:

    Define the identifier of the CMS block you want to render. This can be found in the CMS block list in the Magento admin panel.

    $blockId = 'your_block_identifier';
    

    Create an instance of the CMS block using the ObjectManager

    $objectManager = MagentoFrameworkAppObjectManager::getInstance();
    $block = $objectManager->create('MagentoCmsBlockBlock')->setBlockId($blockId);
    

    Check if the block is active (enabled)

    if ($block->getIsActive()) {
    

    If the block is active, render the block’s HTML using the toHtml() method.

    echo $block->toHtml();
    

    Note that using the ObjectManager directly is not best practice, and it is recommended to use dependency injection instead. Additionally, you should make sure to sanitize the $blockId input to avoid security vulnerabilities.

    Login or Signup to reply.
  2. Override form.phtml file in your child theme and then Call your static block in that override form.phtml file:

    <?php 
    echo $this->getLayout()
    ->createBlock('MagentoCmsBlockBlock')
    ->setBlockId('your_block_identifier')
    ->toHtml();
    ?>
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search