I have created one CMS static block.

I want to know that can I change its content by code (programmatically).

Is there any way to do it?


Use this

Load by block id:

  ->setData('content', 'SET CONTENT HERE')

Load By identifier:

  ->addFieldToFilter('identifier', 'block_identifier')
  ->setData('content', 'Example content')
  • can i use this code in custom module – inrsaurabh Oct 24 '17 at 8:11
  • @SaurabhRanjan Yes, you can use it – Anil Suthar Oct 24 '17 at 17:22
  • Executing setData on a collection will not work. You should squeeze in a call to getFirstItem: Mage::getModel('cms/block') ->getCollection() ->addFieldToFilter('identifier', 'block_identifier') ->load() ->getFirstItem() ->setData('content', 'Example content') ->save(); This will work in most cases, but when there are multiple blocks with the same identifier and you want to update all of them you should process all items in the filtered collection. – Krzysztof Wołowski Nov 15 '19 at 21:01

Using below code you can load cms block using identifier


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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