I have a created different CMS static blocks. I need to call the respective static block for each product.

I thought of getting the URL key and then assign it to the respective Products. How could I achieve this ?

Thanks in advance for the answers

  • can you please specify the magento version ? Dec 17, 2019 at 10:42
  • In Magento CE 2.3.3 @ShashankKumrawat
    – Haerriz
    Dec 17, 2019 at 10:45
  • @Haerriz you want cms block on product detail page, like while on checkout its shows near add to cart button? is this you want? Dec 17, 2019 at 11:24
  • yes, you are right @MuneshJalwani but every CMS static blocks is related to its relevent products , so its necessary to call the respective static block to its relevent product detail page..
    – Haerriz
    Dec 17, 2019 at 11:53
  • @Haerriz Check my answer! Dec 17, 2019 at 12:07

1 Answer 1


Best possible solution would be to create static blocks with product skus. Create a template and call these static block in that template and add that template in layout, where you want to place the block.

template will be something like :

 $_helper = $this->helper('Magento\Catalog\Helper\Output');
 $_product = $block->getProduct();

<div class="product-block">
  echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId($_product->getSku())->toHtml(); 

and place this in your catalog_product_view.xml layout where you want to show the block :

<block class="Magento\Catalog\Block\Product\View" name="product.static.block" as="product_static_block" template="Magento_Catalog::product/view/product_static_block.phtml" />
  • It says that there's no function named as getSku(). @NaveedAsim
    – Haerriz
    Dec 17, 2019 at 13:02
  • you should check if sku is visible on listing and product view page Dec 17, 2019 at 13:15
  • Sku is visible in product view and in product listing in front end but I phpstorm says that there no function named as getsku(). inside $product @NaveedAsim
    – Haerriz
    Dec 17, 2019 at 13:29
  • Do I have extend view.php to achieve this answer? @NaveedAsim
    – Haerriz
    Dec 17, 2019 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.