gpt4 book ai didi

zend-framework - Zend 框架 : How to render a different action?

转载 作者:行者123 更新时间:2023-12-04 06:39:03 27 4
gpt4 key购买 nike

我有两个基本相同的操作,但需要不同的 URL。通常我会使用 _forward()呈现另一个 Action :

class MyController extends Zend_Controller_Action
{
public function actionOneAction()
{
$this->_forward('action-two');
}

public function actionTwoAction()
{
$this->view->foobar = 'foobar';
}
}

但是,我有一些代码发生在 preDispatch()我只想执行一次:
class MyController extends Zend_Controller_Action
{
public function preDispatch()
{
//execute this only once before actionOne or actionTwo, but not both
}

public function actionOneAction()
{
$this->_forward('action-two'); //this won't work because preDispatch() will get called a second time
}

public function actionTwoAction()
{
$this->view->foobar = 'foobar';
}
}

所以我想也许我可以直接调用这个函数,像这样:
class MyController extends Zend_Controller_Action
{
public function preDispatch()
{
//execute this only once before actionOne or actionTwo, but not both
}

public function actionOneAction()
{
$this->actionTwoAction(); //execute the same code as actionTwoAction()
}

public function actionTwoAction()
{
$this->view->foobar = 'foobar';
}
}

但是现在 Zend Framework 提示找不到 action-one.phtml查看脚本。我不想渲染 actionOne 的 View 脚本。我想呈现 actionTwo 的 View 脚本。我需要做什么?

最佳答案

使用 render()似乎可以解决问题:

public function actionOneAction()
{
$this->actionTwoAction(); //execute the same code as actionTwoAction()
$this->render('action-two'); //renders the same view as actionTwoAction()
}

关于zend-framework - Zend 框架 : How to render a different action?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4503724/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com