【问题标题】:Programmatically creating a CMS/Page in Magento以编程方式在 Magento 中创建 CMS/页面
【发布时间】:2012-03-08 14:08:06
【问题描述】:

我看到了Where are Magento static CMS blocks stored? 帖子的以下回答,内容是关于在 Magento 中以编程方式使用 PHP 生成 cms/blocks。

我把代码改成如下

$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/页面中设置其他字段的内容。即:

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

字段。这些字段目前为空白。到目前为止,我还无法弄清楚这部分。

谢谢,

【问题讨论】:

  • 你的问题很有趣。 . .虽然我想知道你对这个问题的结论是什么。 . .等待 4 回复

标签: php magento content-management-system meta


【解决方案1】:

给你:

$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 表的字段名称(检查数据库)。为了知道值,我手动创建了我想要的 cms 页面,然后在 db 中查看此条目的值。

【讨论】:

  • 太棒了!工作得很好,但是我不得不将“one_columns”更改为“one_column”。只是一个错字。所以我明白了 -> 创建一个包含键值对的数组,然后将其分配为 CMS 页面数据。说得通。你怎么知道键是什么以及这些键的值?
  • @user1215510 我已经纠正了错字,谢谢指出。我还扩展了解释我如何获取数据的答案。
  • 如何添加内容包括图片?
猜你喜欢
  • 2011-03-31
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多