如何在magento的\app\code\core\Mage\Wishlist\Helper\Data.php
文件中调用以下两行
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender();
实际上Data.php中有一个自创的函数getPdf(),它用于生成wishlist项的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 Reader无法打开myfile.pdf,因为它既不是受支持的文件类型,也不是因为文件已损坏。现在我需要调用这两行
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender();
在getPdf()函数中,它不会在pdf文档中添加html内容。你能帮帮我吗?
答案 0 :(得分:1)
在回显$pdfString
之前,添加以下代码以禁用视图呈现和布局:
$vr = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$vr->setNoRender(true);
$layout = Mage::getSingleton('core/layout');
$layout->disableLayout();
如果Mage::getSingleton()
调用未返回正确的布局对象,您还可以尝试$layout = $this->getLayout();