如何在magento的'app'code'core'Mage'Wishlist'Helper'Data.php
文件中调用以下两行
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender();
实际上,在Data.php中有一个自己创建的函数getPdf(),用于生成愿望列表项的pdf。它使用语句生成PDF而没有错误
$pdf->save("hello.pdf");
但是当我使用以下语句时
$pdfString = $pdf->render();
header("Content-Disposition: attachment; filename=myfile.pdf");
header("Content-type: application/x-pdf");
echo $pdfString;
它抛出错误:Adobe阅读器无法打开myfile.pdf,因为它不是受支持的文件类型,或者因为文件已损坏。现在我需要把这两条线路称为
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender();
在getPdf()函数中,这样它就不会在pdf文档中添加html内容。你能帮我吗?
在回显$pdfString
之前,添加以下代码以禁用视图渲染和布局:
$vr = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$vr->setNoRender(true);
$layout = Mage::getSingleton('core/layout');
$layout->disableLayout();
如果Mage::getSingleton()
调用没有返回正确的布局对象,您也可以尝试$layout = $this->getLayout();