2008-09-25 39 views
6

我正在開發一個Joomla組件,其中一個視圖需要將它自己渲染爲PDF。在視圖中,我嘗試用下面的行設置內容類型,但是當我看到響應時,無論如何都是text/html。如何在Joomla中設置內容類型?

header('Content-type: application/pdf'); 

如果我在常規的PHP頁面中這樣做,一切都按預期工作。看來我需要告訴Joomla使用application/pdf而不是text/html。我該怎麼做?

注意:設置其他標題,如Content-Disposition,按預期工作。

+0

我可以證實它仍然在Joomla 1.7上工作。 – Jan 2012-02-24 18:55:30

回答

12

自1.5版以來,Joomla擁有JDocument對象。使用JDocument::setMimeEncoding()來設置內容類型。

$doc =& JFactory::getDocument(); 
$doc->setMimeEncoding('application/pdf'); 

在你的特殊情況,一看JDocumentPDF可能是歡顏。

+0

看起來像JDocumentPDF的鏈接已經死了。顯然它在框架v1.6中被放棄了。這裏的舊鏈接仍然存在:https://api.joomla.org/1.5/Joomla-Framework/Document/JDocumentPDF.html – userfuser 2015-05-04 11:53:33

1

對於那些認爲上述是非常古老的答案,我確認JDocument :: setMimeEncoding()即使在1.6版本(尚未在1.7版本上嘗試過)仍然有效。

+0

它工作在1.7和2.5。 – 2012-08-21 10:56:41

0

我在joomla 2.5中遇到同樣的問題。在joomla管理面板中點擊8個小時後,我找到了一個解決方案。

  1. 登錄到您的Joomla管理面板,點擊媒體管理器
  2. 點擊右上角的選項按鈕。這將打開一個配置選項卡,其中包含各種選項
  3. 在合法文件擴展名,應用程序/ pdf或任何您需要的文件夾中。值由逗號分隔。 注,顯然你必須根據論壇上,我只是發現
  4. 單擊保存按鈕

您現在應該能夠PDF文件加載到媒體管理器列出的東西按字母順序排列。希望這對你有用。我只需設置我的網站即可上傳.mov分機。

問題是它只能工作一次。現在,只要我導航到硬盤驅動器上的電影.mov文件,瀏覽鏈接不起作用。但是,如果我選擇任何其他文件類型呢?

相關問題