2011-02-08 11 views
6

データベース内の静的CMSブロックの場所が見つかりません。彼らはどこにいる?Magento静的CMSブロックはどこに保存されていますか?

私はこれを知る必要があるのは、データベースと私のテーマファイルを私のローカルインストールから自分のオンラインデモインストールに移動すると、ブロックが更新されず、インストールごとにそれらを再作成する必要があるからです。

フォローアップの質問は、プログラムでどのように作成すればよいですか?

EDIT:質問が不明な人は、Magentoバックエンドで静的ブロックを作成する方法を知っています。問題はMagento db/filesystemにどこに保存されているのでしょうか?

+0

このリンクを参照してくださいhttp://www.magentocommerce.com/knowledge-base/entry/how-do-i-create-and-edit-static-blocks –

答えて

19

ブロックはデータベーステーブル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(); 
+4

新しいブロックは表示されません。どのストアにも割り当てられていません。 セーブコールの前に " - > setStores(array(1))"を追加します.1はデフォルトstore_idです。ブロックはフロントエンドに表示されます – Sergey

7

彼らはあなたにも、新しく作成されたを追加する必要があります(モジュールたとえば、スクリプトをインストールを使用して)時計仕掛けのオタクが言ったようにdbテーブルにcms_blockですが、あなたはSQLを介してデータベースにそれらを追加する場合があることに注意してくださいidをブロックし、ストアIDをテーブルcms_block_storeにブロックするか、ブロックが表示されません。

関連する問題