У меня возникли некоторые трудности при настройке функций администратора для редактирования значений элементов. Я создал функцию editAction()
в классе AdminItemController
. Это содержится в модуле под названием catalog
. Моя маршрутизация настроена следующим образом:
resources.router.routes.admin-catalog-edit.route = "/admin/catalog/item/edit/:id"
resources.router.routes.admin-catalog-edit.defaults.module = "catalog"
resources.router.routes.admin-catalog-edit.defaults.controller = "admin.item"
resources.router.routes.admin-catalog-edit.defaults.action = "edit"
Я создал собственный класс Zend_Form, и в этом классе я установил действие и метод для формы:
class My_Form_ItemAdd extends Zend_Form
{
public function init()
{
$this->setAction('/admin/catalog/item/edit')
->setMethod('post');
...
В своем действии контроллера я создал экземпляр формы и передал ее представлению, которое будет отображено. Я также проверяю, является ли это POST (если это так, проверяйте и сохраняйте в базе данных), в противном случае проверяйте GET (если да, извлекайте ID и populate()
):
class Catalog_AdminItemController extends Zend_Controller_Action
{
...
public function editAction()
{
$form = new My_Form_ItemEdit();
$this->view->form = $form;
...
Форма отлично загружается в браузере, когда я в конце предоставляю идентификатор для запроса GET, но ... при отправке формы выдается исключение со следующими параметрами запроса:
array (
'controller' => 'admin',
'action' => 'catalog',
'item' => 'edit',
'module' => 'default',
...
Я понятия не имею, почему он будет это делать ... я что-то не вижу ??? Любой совет будет высоко ценится!