Zend framework 如何设置contextSwitch以生成csv文件
在我的controllerinit方法中Zend framework 如何设置contextSwitch以生成csv文件,zend-framework,Zend Framework,在我的controllerinit方法中 public function init() { //initialise the context switch action helper $this->_helper->getHelper('contextSwitch') ->addContext('csv', array('suffix' => 'csv',
public function init()
{
//initialise the context switch action helper
$this->_helper->getHelper('contextSwitch')
->addContext('csv', array('suffix' => 'csv',
'headers' => array(
'Context-Type' => 'application/csv',
'Context-Disposition' => 'inline; filename="fooo.csv"',
'Pragma' => 'no-cache',
'Expires' => '0',
)))
->addActionContext('stockreport', 'csv')
->initContext();
}
在我的stockreportAction中,我禁用了布局和视图渲染,如下所示
public function stockreportAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
echo 'foobar';
}
当我调用此文件时,会得到一个空白页,我希望生成此文件,因此在示例中,“foobar”显示为可下载的csv文件。谁能告诉我,Zend_Magic尚未实施 您有责任生成csv或任何其他输出格式 简而言之:上下文切换器修改视图脚本后缀,因此上下文的视图脚本为stockreport.csv.phtml(如果csv上下文处于活动状态,则为stockreport.phtml)。
但在您的示例中,上下文切换器以错误的方式使用。您不能在此处切换上下文。
您不使用viewscripts,也不检查操作中的上下文是否处于活动状态 为什么输出为空是另一个问题-可能在某个时候您清除了响应对象中的内容,或者在某个地方出现了致命错误&错误输出被禁用 更新:
标题还包括
内容类型
和内容处置