Zend framework2 zf2显示模块在另一个模块中的动作

Zend framework2 zf2显示模块在另一个模块中的动作,zend-framework2,Zend Framework2,嗨,我创建了两个模块第一个应用程序第二个注释。 其想法是在任何应用程序操作网站页面中使用评论模块Widget 应用模块 测试控制器 public function commentAction(){ //seting redirection for form $this->getCommentService()->setRedirection('test/comment'); $list = $this->forward()->dispatch('

嗨,我创建了两个模块第一个应用程序第二个注释。 其想法是在任何应用程序操作网站页面中使用评论模块Widget

应用模块 测试控制器

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'
    ));
}
看法

注释模块 注释控制器

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'
    ));
}
使用简单的变量列表,一切正常

尝试将表单重定向回测试控制器中的注释操作时遇到的问题

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'
    ));
}
如果表单无效,我可以将重定向添加到测试/注释 但是我如何将所有验证错误传递给test/commentform呢

您能告诉我,如果我在ZF2中所做的逻辑正确,或者我们有不同的方式来做小部件吗?谢谢您的帮助

韦罗菲尼的回答

到目前为止,我得到的是:

谢谢你的帮助

韦罗菲尼的回答

到目前为止,我得到的是:


我认为这篇文章可以帮助你:我认为这篇文章可以帮助你: