我无法在数据库中定位静态CMS块。他们在哪儿?
我需要知道的原因是,当我将数据库和我的主题文件从本地安装移动到我的在线dev-install时,该块不会更新,我需要为每个安装重新创建它们。
后续问题是,如何以编程方式创建它们?
编辑:如果有人发现问题不清楚,我知道如何在Magento后端制作静态块。问题是它们存储在Magento数据库/文件系统中的哪个位置?
答案 0 :(得分:20)
块存储在数据库表cms_block
中。但是,如果要以编程方式创建它们,则无需知道。
$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();
答案 1 :(得分:7)
它们在db表cms_block
中就像发条geek所说的那样,但请注意,如果你通过sql将它们添加到db中(例如使用模块安装脚本),你还需要添加新创建的将id和商店ID阻止到表cms_block_store
,否则该块将不会出现。