I saw the following answer to the post Where are Magento static CMS blocks stored? regarding programatically using PHP generating cms/blocks in Magento.
I changed the code to the following
$newBlock = Mage::getModel('cms/page')
->setTitle('Test CMS Page Title')
->setContent('Hello I\'m a new cms page.')
... and it works. I see a new page show up in the CMS Pages area in the backend.
What I need to add to this is the ability to set the content of the other fields in the CMS/Page. Namely:
fields. These fields are blank currently. I so far haven't been able to figure this part out.
here you go:
$cmsPageData = array( 'title' => 'Test CMS Page Title', 'root_template' => 'one_column', 'meta_keywords' => 'meta,keywords', 'meta_description' => 'meta description', 'identifier' => 'this-is-the-page-url', 'content_heading' => 'content heading', 'stores' => array(0),//available for all store views 'content' => "Hello I'm a new cms page." ); Mage::getModel('cms/page')->setData($cmsPageData)->save();
The keys of the array are the name of the fields of the
cms_page table (check the db). And to know the value, I manually create the cms page I want and then see the value for this entry in the db.