Zend framework Zend框架-操作输出的更改顺序

Zend framework Zend框架-操作输出的更改顺序,zend-framework,zend-view,Zend Framework,Zend View,在我的控制器中,我对图像相册有两个操作,第一个操作创建一个表单来创建一个新相册并处理POST,第二个操作生成一个现有相册的列表。表单发布到第一个操作,然后将列表操作放在actionstack上。此顺序是必需的,否则新创建的相册将不会出现在列表中 因此,在我的HTML输出中,首先是createAction视图的输出,然后是listAction视图的输出。但是出于样式的原因,我想更改HTML中两个动作的视图输出顺序。有没有一种方法可以让列表后跟表单,而不改变操作的执行顺序?如果可能,您应该尽量避免使

在我的控制器中,我对图像相册有两个操作,第一个操作创建一个表单来创建一个新相册并处理POST,第二个操作生成一个现有相册的列表。表单发布到第一个操作,然后将列表操作放在actionstack上。此顺序是必需的,否则新创建的相册将不会出现在列表中


因此,在我的HTML输出中,首先是createAction视图的输出,然后是listAction视图的输出。但是出于样式的原因,我想更改HTML中两个动作的视图输出顺序。有没有一种方法可以让列表后跟表单,而不改变操作的执行顺序?

如果可能,您应该尽量避免使用操作堆栈。处理POST数据后,只需重定向到列表视图,即可完全避免此要求。这还可以通过刷新页面防止用户意外地再次提交相同的相册。如果您仍然希望表单显示在列表下,只需将表单添加到该操作中,即可将其输出到相册列表下的视图中

public function createAction()
{
    $form = new Yourapp_Form_Album();
    if ($this->getRequest()->isPost()) {
        if ($form->isValid($this->getRequest()->getPost()) {
            // save the data and redirect
        }
    }

    $this->view->form = $form;
}

public function listAction()
{
    // load albums and assign to the view

    // if you want the form under the list
    $this->view->form = new Yourapp_Form_Album();
}