如何从ZF中的一系列视图中捕获内容

时间:2016-04-06 14:54:13

标签: zend-framework

我有一个包含大量模块/控制器/操作的网站。我正在尝试将现有内容用于离线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)
 }

但这并不像我期待的那样有效,我没有得到回应。 捕获这些操作的渲染内容的正确方法是什么?

1 个答案:

答案 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) } 代码编写自定义函数。