我有一个包含大量模块/控制器/操作的网站。我正在尝试将现有内容用于离线PDF报告。
为了简化问题,我想捕获2个动作的内容:
$content = [
'first' => 'module_1/controller_1/action_1',
'second' => 'module_2/controller_2/action_2'
];
所有这些操作都存在并独立生成内容。 我正在向actionStack添加请求,但我不确定如何执行它们并收集最终内容。
$stack = Zend_Controller_Action_HelperBroker::getStaticHelper('actionStack');
foreach ($content as $key => $path){
list($module, $controller, $action) = explode("/", $path);
$stack->actionToStack($action, $controller, $module)
}
但这并不像我期待的那样有效,我没有得到回应。 捕获这些操作的渲染内容的正确方法是什么?
答案 0 :(得分:1)
视图助手if(...){...} else {...} etc.
可以捕获某些控制器工作的结果
Zend_View_Helper_Action
或者尝试根据function f($action, $controller, $module, array $params = array())
{
$view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
return $view->view->getHelper('action')->action($action, $controller, $module, $params);
}
$content = [
'first' => 'module_1/controller_1/action_1',
'second' => 'module_2/controller_2/action_2'
];
foreach ($content as $key => $path){
list($module, $controller, $action) = explode("/", $path);
$content = f($action, $controller, $module)
}
代码编写自定义函数。