Привет, я создал два модуля: первое приложение, второй комментарий. Идея состоит в том, чтобы использовать модуль комментариев (виджет) в любом действии приложения (странице веб-сайта).
Прикладной модуль Тестовый контроллер
public function commentAction(){
//seting redirection for form
$this->getCommentService()->setRedirection('test/comment');
$list = $this->forward()->dispatch('comment_controrller', array('action' => 'list'));
$add = $this->forward()->dispatch('comment_controrller', array('action' => 'add'));
$view = new ViewModel();
$view->addChild($list, 'list');
$view->addChild($add, 'add');
return $view;
}
Вид
Модуль комментариев Контроллер комментариев
public function addAction()
{
$form = new CommentForm();
$form->get('submit')->setAttribute('value', 'Add');
$request = $this->getRequest();
if ($request->isPost()) {
$comment = new Comment();
$form->setInputFilter($comment ->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid()) {
$comment ->exchangeArray($form->getData());
$this->getCommentTable()->saveComment($comment);
// Redirect to test controller in application module
return $this->redirect()->toRoute($this->getCommentService()->getRedirection());
}
}
return array('form' => $form);
}
public function listAction()
{
return new ViewModel(array(
$list=> 'test'
));
}
С простой переменной (списком) все работает нормально,
Проблема, которую я получаю при попытке перенаправить форму обратно в действие комментария в тестовом контроллере
Я могу добавить перенаправление в тест/комментарий в случае, если форма недействительна, но как я передам все ошибки проверки в тест/комментарий (форма)
Не подскажете, правильно ли я делаю то, что делаю или в ZF2 у нас другой способ делать виджеты