6

Joomlaコンポーネントを開発していますが、ビューの1つをPDFとしてレンダリングする必要があります。ビューでは、次の行でcontent-typeを設定しようとしましたが、応答を見ると、とにかくtext/htmlです。

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

通常のphpページでこれを行うと、すべてが期待どおりに機能します。text/htmlの代わりにapplication/pdfを使用するようにJoomlaに指示する必要があるようです。どうすればいいですか?

注:などの他のヘッダーの設定はContent-Disposition、期待どおりに機能します。

4

3 に答える 3

12

バージョン 1.5 以降、Joomla には JDocument オブジェクトがあります。JDocument::setMimeEncoding()を使用して、コンテンツ タイプを設定します。

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

あなたの特別なケースでは、JDocumentPDFを見る価値があるかもしれません。

于 2008-09-25T17:51:13.543 に答える
1

上記は非常に古い回答だと思われる方のために、JDocument::setMimeEncoding() が 1.6 バージョンでも機能することを確認します (1.7 ではまだ試していません)。

于 2011-09-07T06:37:00.880 に答える
0

私はjoomla2.5でも同じ問題を抱えていました。joomla管理パネルで8時間クリックした後、解決策を見つけました。

  1. joomla管理パネルにログインし、メディアマネージャーをクリックします
  2. 右上隅にあるオプションボタンをクリックします。これにより、さまざまなオプションを含む構成タブが開きます
  3. 正当なファイル拡張子、application / pdf、または必要なもののボックス。値はコンマで区切られます。 注意してください、どうやらあなたは私がちょうど見つけたフォーラムに従ってアルファベット順に物事をリストしなければなりません
  4. 保存ボタンをクリックします

これで、PDFをメディアマネージャーにロードできるようになります。これがあなたのために働くことを願っています。.mov拡張機能をアップロードするように設定しました。

問題は、それが一度だけ機能したことです。これで、ハードドライブ上のmovie.movファイルに移動するたびに参照リンクが機能しなくなりました。しかし、他のファイルタイプを選択した場合はどうなりますか?

于 2012-12-17T19:34:43.023 に答える