データベースフィールドをモデルに追加し、varien_data_formを使用して編集可能にします
-
22-10-2019 - |
質問
拡張機能にモデルがあります。新しいデータベース属性を追加し、varien_data_formを使用してMagento管理者を介してこの値を編集可能にしたいと思います。インストーラースクリプトを介してデータベースにフィールドを追加しました。フィールドは管理者に表示されますが、保存方法がわかりません。
フォームデータが投稿され、$データ変数に保存され、モデルはロードされ、setData($ data)が呼び出され、その後モデルは保存されますが、役に立ちません。 setData()コールの直前に$データをダンプして、変数が問題ないことを示します。
保存はトライブロック内で発生し、エラーはスロー/キャッチされません。
...
$model = Mage::getModel('cmspro/category');
$model->setData($data)->setId($this->getRequest()->getParam('id'));
...
try {
...
$model->save();
...
} catch (Exception $e) {
...
}
解決
テーブルの構造を変更した後、キャッシュをクリアします。
の内容を削除します var/cache
.
キャッシュが無効になっていても、テーブルスキーマはZendフレームワークによってまだキャッシュされています。
所属していません magento.stackexchange