我正在使用$this->view->action
调用某个操作来获得一些响应。我正在使用$this->_forward()
进行操作。但是当我用$this->view->action
调用它时,它不起作用。
我在打电话:
$result = $this->view->action('search-results', 'controller', 'mobule', $requestParams);
内部searchResulsAction()
我正在使用
$this->_forward("get-listings", "controller", "module", $requestParams);
但是电话不会转到getListingsAction()
答案 0 :(得分:1)
首先直接来自Zend View Helpers documentation:
导致_forward()或重定向的操作被视为无效,并将返回空字符串。
第二,当你有$this->view->action
时,你应该仍然在控制器内,这意味着你应该实际使用$this->_forward('search-results', 'controller', 'mobule', $requestParams)
。除非您需要留在该控制器中并查看并且不希望最终进入getListingsAction()
并查看?
如果您需要保留在该控制器/视图中,您可能应该通过从其他控制器中将这些部分提取到Action Helpers或View Helpers来重构您的代码。如果事实上你想最终进入getListingsAction,那么你应该做一个前锋。