Magento не сохраняет значение на «сохранить» - PullRequest
3 голосов
/ 29 марта 2012

У меня есть пользовательский модуль, который добавляет поле к элементу в

<?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 поле не сохраняется в базе данных.

Может кто-нибудь сказать мне, что я здесь пропускаю?

Ответы [ 2 ]

9 голосов
/ 30 марта 2012

Вы должны помнить, чтобы очистить кэш. Этот поймал меня несколько раз прежде.

Войдите в System > Cache Management и нажмите обе кнопки сброса.

Выйдите из админа и войдите снова. Все должно работать как положено.

1 голос
/ 29 марта 2012

Вы добавили поле в базу данных?Наличие поля в форме - это один шаг, но для сохранения данных оно должно быть в состоянии размещаться в столбце в БД.Как только поле находится в БД, вам, возможно, придется изменить контроллер для распознавания нового поля, но оно может уже работать для всех полей.Если он уже выполняет setData($data), где $data - все полученные данные формы, с вами все будет в порядке.

...