2017-05-09 3 views
1

私はフレームワーク1.12.19に新たに追加されましたが、今はExcelファイルを生成します。私はそのコードを完成させました。レイアウトの間にレイアウトを設定する必要があります。zend framwork 1.12.19でdisableLayoutを設定するには?

私はこれを行うために上記の行を書いています。しかし、それは動作していないと私にいくつかのエラーを与えている。

set_time_limit(0); 

     $filename = '../data/uploaded-files/excel-uploaded/FILE.xls'; 
     $realPath = realpath($filename); 
     if (false === $realPath) 
     { 
      touch($filename); 
      chmod($filename, 0777); 
     } 

     $filename = realpath($filename); 
     $handle = fopen($filename, "w"); 
     $finalData = array(); 
     $data = array 
        (
         array("Volvo",22,18), 
         array("BMW",15,13), 
         array("Saab",5,2), 
         array("Land Rover",17,15) 
        ); 

     foreach ($data AS $row) 
     { 

      $finalData[] = array(
       utf8_decode($row[0]), // For chars with accents. 
       utf8_decode($row[1]), 
       utf8_decode($row[2]), 
      ); 
     } 
     foreach ($finalData AS $finalRow) 
     { 
      fputcsv($handle, $finalRow, "\t"); 
     } 
     fclose($handle); 
     $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(TRUE); 
     $this->getResponse()->setRawHeader("Content-Type: application/vnd.ms-excel; charset=UTF-8") 
      ->setRawHeader("Content-Disposition: attachment; filename=otros-fondos.xls") 
      ->setRawHeader("Content-Transfer-Encoding: binary") 
      ->setRawHeader("Expires: 0") 
      ->setRawHeader("Cache-Control: must-revalidate, post-check=0, pre-check=0") 
      ->setRawHeader("Pragma: public") 
      ->setRawHeader("Content-Length: " . filesize($filename)) 
      ->sendResponse(); 
     readfile($filename); exit(); 

エラー:

+0

これは、コントローラの動作全体など、より多くのコードを表示できる場合に役立ちます。また、ZF 1.2もありません。あなたが使っているフレームワークの実際のバージョンについては、 'Zend/Version.php'をチェックしてください。 –

+0

申し訳ありません、タイプミス、そのv1.12.19 – AWE

+0

私のコードを更新しました。 – AWE

答えて

0

それはあなたのコードにわずかな差だが、これはあなたがあなたのアクションでやろうとすることができるものですを見つけていない名前のレイアウトによって アクションヘルパー:

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

レイアウトヘルパーにはかっこが必要な場合があります。

編集

それが見つからないプラグインのように見えるので:あなたはそれがZend/Layout/Controller/Action/Helper/Layout.phpに存在してもよろしいですし、それが自動的にロードされていますか?

application.iniの内容は何ですか?

+0

動作しません。その同じエラー。 – AWE

+0

そうだと思います。 require_once( 'Zend/Loader/Autoloader.php'); require_once( '../../library/ZendFramework-1.12.19/library/Zend/Layout/Controller/Action/Helper/Layout.php'); – AWE

+0

コントローラ全体を投稿することはできますか?たぶん私はあなたのために何かを見つけることができます。また、 'application.ini'の内容は何ですか? –

関連する問題