2008-09-25 7 views
6

Ich entwickle eine Joomla-Komponente und eine der Ansichten muss sich selbst als PDF rendern. In der Ansicht habe ich versucht, den Inhaltstyp mit der folgenden Zeile zu setzen, aber wenn ich die Antwort sehe, ist es sowieso text/html.Wie lege ich den Inhaltstyp in Joomla fest?

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

Wenn ich dies in einer regulären PHP-Seite tun, funktioniert alles wie erwartet. Es scheint, dass ich Joomla sagen muss, Anwendung/pdf anstelle von Text/HTML zu verwenden. Wie kann ich es tun?

Hinweis: Die Einstellung anderer Kopfzeilen wie Content-Disposition funktioniert wie erwartet.

+0

Ich kann bestätigen, dass es immer noch auf Joomla 1.7 funktioniert. – Jan

Antwort

12

Seit Version 1.5 hat Joomla das JDocument-Objekt. Verwenden Sie JDocument::setMimeEncoding(), um den Inhaltstyp festzulegen.

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

In Ihrem speziellen Fall ein Blick auf JDocumentPDF lohnenswert sein kann.

+0

Sieht so aus, als wäre der Link zu JDocumentPDF tot. Anscheinend wurde es im Rahmen v1.6 aufgegeben. Hier ist der alte Link noch lebendig: https://api.joomla.org/1.5/Joomla-Framework/Document/JDocumentPDF.html – userfuser

1

Für diejenigen von Ihnen, die denken, dass das oben eine sehr alte Antwort ist, bestätige ich, dass die JDocument :: setMimeEncoding() immer noch funktioniert, sogar auf der Version 1.6 (habe es noch nicht auf 1.7 versucht).

+0

Es funktioniert in 1.7 und 2.5. –

0

Ich hatte das gleiche Problem in Joomla 2.5. Nach 8 Stunden Klick im Joomla Admin-Panel habe ich eine Lösung gefunden.

  1. Melden Sie sich bei Ihrem joomla Admin-Panel und klicken Sie auf Medienmanager
  2. die Optionen-Schaltfläche in der oberen rechten Ecke klicken. Dies öffnet eine Konfigurations-Registerkarte mit verschiedenen Optionen
  3. In der Box für legale Dateierweiterungen, Anwendung/pdf oder was auch immer Sie brauchen. Werte werden durch ein Komma getrennt. Hinweis, anscheinend muss man Dinge Liste in alphabetischer Reihenfolge nach einem Forum fand ich gerade
  4. Klicken Sie auf Speichern Schaltfläche

Sie sollten nun in der Lage sein PDF-Dateien in Medienmanager zu laden. Hoffe das funktioniert für dich. Ich habe mich nur dazu entschieden, .mov Erweiterungen hochzuladen.

Das Problem ist, dass es nur einmal funktioniert. Jetzt funktioniert der Link zum Durchsuchen nicht, wenn ich zu einer .mov-Filmdatei auf meiner Festplatte navigiere. Aber wenn ich einen anderen Dateityp auswähle?