2012-11-09 19 views
0

我寫個實用方法進行API調用來獲取數據,然後填充一個視圖文件瓦特/數據:數據傳遞到Zend的看法,但不顯示,只需要原HTML

// decode API response 
$response = json_decode($sa->response); 
// pass data to view 
$this->view->paf = $response->response; 
// NEED TO GET HTML HERE INSTEAD OF DISPLAYING VIEW 
$this->_helper->layout->setLayout('print-nosubmit'); 

實際發生的是響應被解碼,然後視圖('print-nosubmit')顯示在$ response中的數據中。除了我不想顯示視圖外,這一切都很好。我仍然需要使用數據填充視圖,但只能獲取HTML(不是來自'print-nosubmit'的HTML,而是來自獲取數據後該文件的HTML)傳遞給PDF的DOMPDF創建。我(顯然)這是錯誤的方式,因爲我實際上並不想要加載佈局,但我不知道有一個好的方法來獲取數據在該視圖的$響應,然後只返回原始HTML 。

我相信我可以採取一種方法來完成這項任務,但我需要一個指向正確方向的指針。

謝謝!

*更新:爲了使事情更清楚,'print-nosubmit'是一個VIEW文件,位於/views/scripts/print-nosubmit.phtml。

+1

請查看:http://zend-framework-community.634137.n4.nabble.com/howto-capture-action-output-stream-it-as-pdf-td671222.html –

回答

1

想剛纔的一切我能想到的我之後找到了一個解決方案:

$this->_helper->layout()->disableLayout(); 
$this->_helper->viewRenderer->setNoRender(true); 
$this->view->addScriptPath(APPLICATION_PATH . '/layouts/scripts/'); //default layout path 
$html = $this->view->render('print-nosubmit.phtml'); 

我現在有什麼是呈現W /存儲在數據後打印nosubmit.phtml生成完整的HTML內容$ HTML。

Huzzah!

相關問題