Home » Php » php – Where are Magento static CMS blocks stored?

php – Where are Magento static CMS blocks stored?

Posted by: admin July 12, 2020 Leave a comment

Questions:

I cannot the location of static CMS blocks in the database. Where are they?

The reason I need to know this is that when I move the database and my theme files from my local install to my online dev-install, the block does not update, and I need to re-create them for each installation.

Follow-up question would be, how do I create them programmatically?

EDIT: If anyone finds the question unclear I know how to make a static block in the Magento backend. The question is where are they stored in the Magento db/filesystem?

How to&Answers:

Blocks are stored in the database table cms_block. But you don’t need to know that if you are going to create them programmatically.

$newBlock = Mage::getModel('cms/block')
          ->setTitle('This is the title')
          ->setContent('This is the content')
          ->setIdentifier('an-identifier')
          ->setIsActive(true)
          ->setStores(array(1)) // see Sergy's comment
          ->save();

Answer:

They are in the db table cms_block like clockwork geek has said, but be aware that if you add them into the db through sql (using a module install script for example) you also need to add the newly created blocks id and the store id to table cms_block_store or the block won’t appear.