如何从 ZF 中的一系列视图中捕获内容
how to capture content from a series of views in ZF
我的网站有很多 modules/controllers/actions。我正在尝试将现有内容用于离线 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)
}
但这并不像我预期的那样有效,我没有得到任何回应。
捕获这些操作的呈现内容的正确方法是什么?
Views helper 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)
}
或者尝试根据Zend_View_Helper_Action
代码编写自定义函数。
我的网站有很多 modules/controllers/actions。我正在尝试将现有内容用于离线 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)
}
但这并不像我预期的那样有效,我没有得到任何回应。 捕获这些操作的呈现内容的正确方法是什么?
Views helper 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)
}
或者尝试根据Zend_View_Helper_Action
代码编写自定义函数。