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?
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 = \Magento\Framework\App\ObjectManager::getInstance();
$block = $objectManager->create('Magento\Cms\Block\Block')->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 = \Magento\Framework\App\ObjectManager::getInstance();
$block = $objectManager->create('Magento\Cms\Block\Block')->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.