web-dev-qa-db-ja.com

MagentoでプログラムでCMS /ページを作成する

私は投稿に対して次の答えを見ました Magentoの静的CMSブロックはどこに保存されていますか? プログラムでPHP Magentoで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列に設定しようとしています)
  • メタキーワード
  • メタ記述

田畑。現在、これらのフィールドは空白です。私はこれまでこの部分を理解することができませんでした。

ありがとう、

17
KyleDugger

どうぞ:

$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ページを手動で作成してから、このエントリの値をデータベースに表示します。

37
OSdave