0

magentoの\app\code\core\Mage\Wishlist\Helper\Data.phpファイルで次の2行を呼び出す方法

$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;

エラーが発生します:サポートされているファイルタイプではないか、ファイルが破損しているため、AdobeReaderはmyfile.pdfを開くことができませんでした。今、私はこれらの2つの行を呼び出す必要があります

$this->_helper->layout()->disableLayout();   
$this->_helper->viewRenderer->setNoRender(); 

getPdf()関数で、PDFドキュメントにhtmlコンテンツを追加しないようにします。これで私を助けてくれませんか?

4

1 に答える 1

1

echo$pdfStringを実行する前に、次のコードを追加して、ビューのレンダリングとレイアウトを無効にします。

$vr = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$vr->setNoRender(true);

$layout = Mage::getSingleton('core/layout');
$layout->disableLayout();

Mage::getSingleton()呼び出しで正しいレイアウト オブジェクトが返されない場合は、次を試すこともできます。$layout = $this->getLayout();

于 2012-08-31T18:12:03.537 に答える