2012-02-17 43 views
17

我在编程上使用PHP生成cms/blocks在Magento中看到以下对Where are Magento static CMS blocks stored?后的回答。以编程方式在Magento中创建CMS /页面

我改变了代码以下

$newBlock = Mage::getModel('cms/page') 
     ->setTitle('Test CMS Page Title') 
     ->setContent('Hello I\'m a new cms page.') 
     ->setIdentifier('this-is-the-page-url') 
     ->setIsActive(true) 
     ->save(); 

...和它的作品。我在后端的CMS页面区域看到一个新页面。

我需要补充的是,可以在CMS/Page中设置其他字段的内容。即:

  • 布局(试图设置为1列)
  • 元关键字
  • 元描述

字段。这些字段目前是空白的。到目前为止,我还没有弄清楚这一部分。

感谢,

+0

你是问题很有趣。 。 。尽管我想知道你对这个问题的结论。 。 。等待4回复 – 2012-12-20 05:56:30

回答

37

在这里你去:

$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(); 

数组的键是cms_page表的字段的名称(检查DB)。要知道这个值,我手动创建我想要的cms页面,然后在db中查看这个条目的值。

+0

太棒了!完美的工作,但是我不得不将'one_columns'更改为'one_column'。只是一个错字。所以我得到它 - >用键值对创建一个数组,然后将其分配为CMS页面数据。说得通。你怎么知道钥匙是什么和这些钥匙的价值? – KyleDugger 2012-02-18 05:19:22

+0

@ user1215510我纠正了错字,thx指出了它。我还扩大了解释我如何获取数据的答案。 – OSdave 2012-02-18 11:25:29

相关问题