3

の要素にフィールドを追加するカスタム モジュールがあります。

<?php

class NS_MN_Block_Cms_Page_Edit_Tab_Main extends Mage_Adminhtml_Block_Cms_Page_Edit_Tab_Main
{

public function _prepareForm()
{
parent::_prepareForm();

 $fieldset = $this->getForm()->getElements()->searchById('base_fieldset');

$fieldset->addField('bar', 'text',
    array(
        'label' => Mage::helper('cms')->__('BaR'),
        'class' => 'input-text',
        'name'  => 'bar',
        'required' => false
    )
);
return $this;
}
}

barフィールドをテーブルに追加しcms_page、フィールドがレンダリングされましたが、cms ページを保存すると、フィールドがデータベースに保存されません。

ここで私が見落としていることを誰か教えてもらえますか?

4

2 に答える 2

9

キャッシュをフラッシュすることを忘れないでください。これは私を数回前に捕まえました。

入ってSystem > Cache Management、両方のフラッシュボタンをクリックします。

管理者からログアウトし、再度ログインします。すべてが期待どおりに機能するはずです。

于 2012-03-30T02:06:20.437 に答える
1

フィールドをデータベースに追加しましたか? フォームにフィールドを含めることは 1 つのステップですが、データを永続化するには、DB の列に存在できる必要があります。フィールドが DB に入ったら、新しいフィールドを認識するようにコントローラーを変更する必要があるかもしれませんが、すべてのフィールドで既に機能している可能性があります。受信したすべてのフォーム データを既に実行している場合setData($data)は、問題ありません。$data

于 2012-03-29T08:45:27.657 に答える