Модуль администратора пользовательский выберите не сохранять
-
16-10-2019 - |
Вопрос
Итак, я создал пользовательский модуль с одной моделью таблицы с активным выбором (нет, да) и заголовком и изображением. Теперь, когда я сохраняю заголовок, сохраняет и обновляет штраф, изображение удаляется или правильно обновляется, все работает нормально.
Все, кроме выбора да/нет.
Я добавил Vardump данных о сообщении и вижу следующее:
["active"]=> string(1) "0" ["title"]=> string(9) "Test Item"
Таким образом, данные правильно передаются в мой метод SeaveAction (я предполагаю, что это будет строка со значениями, поднимающимися с 0). Следующее - то, что я использовал для сохранения данных POST, которые отлично подходят для всего остального.
$model = Mage::getModel("tester/tester")
->addData($post_data)
->setId($this->getRequest()->getParam("id"));
->save();
Это строка после моего Vardump of Post Data, поэтому я просто очень запутался в том, почему это не работает, это тот же код, который я использовал для добавления активных и в параметрах Acitve к другим модулям, и все работает нормально (Я даже могу сортировать по выбору в представлении администратора).
Я добавил функциональность через обновление в модуль, но с тех пор удалил его и попробовал его снова без успеха.
Для справки я создал модуль, используя Создатель модуля SilkTouch.
Решение
Если вы добавили поле «Active», используя обновление, после создания модуля и его использования, очистите кэш. Даже если кэш отключен, все еще есть кэшированные вещи. Одним из них являются табличные утверждения «описать». Я думаю, что Zend Framework делает это. Когда вы пытаетесь сохранить свою сущность, параметры в $ _data совпадают с полями таблицы. Если у вас есть более старая версия таблицы, кэшированная ваше «активное» поле, нет в структуре таблицы, и оно не соответствует. Дайте мне знать, если это так.