[Gelöst] views_pdf: Wie bekomme ich das .pdf an das erzeugte file?
am 02.04.2014 - 13:51 Uhr in
Hallo zusammen,
mehr aus Zufall ist mir folgendes aufgefallen, nachdem ich views_pdf nun schon einige Zeit in Betrieb habe und in Sachen Inhalt, Templates, Formatierung auch sehr zufrieden bin:
Das erzeugte file wird ohne Endung ausgeliefert - d.h. es ist zwar ein gültiges (und zu öffnendes) pdf Format, hat aber keine Endung für den Dateityp.
Sofern der Browser das pdf direkt im Browser öffnet, ist das kein Problem - es wird richtig interpretiert und in der pdf Formatierung angezeigt. Auch das dann mögliche Abspeichern erfolgt als .pdf - so weit also alles ok.
Aber: Habe ich meinen Browser so eingestellt, dass files erstmal nur runtergeladen und nicht geöffnet werden, dann landet in meinem Download Ordner eine Datei ohne Endung - was für den unbedarften User womöglich etwas seltsam und wenig vertrauenerweckend ist, speziell wenn beim Öffnen ein (Windows-)Dialog erscheint, der noch fragt, wie das file denn nun geöffnet werden soll...
Hier ist als Lösung nur vorgeschlagen, dass man den Namen des View direkt auf ViewNameXY.pdf ändern soll, was aber nur direkt in der DB geht, weil das über die Admin-Oberfläche verweigert wird (View Namen sind nur alphanumerisch und mit Unterstrich gültig...).
Kann das denn wirklich sein, dass man so ein triviales Problem über das Verdrehen der View-Namen in der DB lösen muss?
Bin für jede Idee dankbar!
- Anmelden oder Registrieren um Kommentare zu schreiben
setze Content-Disposition im
am 03.04.2014 - 08:16 Uhr
setze Content-Disposition im http header (ggf view template).
Hier kannst Du einfach pdf an Deinen Dateinamen anhängen.
Du kannst Dir die http header in Firebug ansehen.
header("Content-Disposition: attachment; filename=".$filename);
Wenn der User auf "speichern unter" klickt,
wird die Datei mit dem Namen im Content-Disposition header gepeichert.
LG
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
views-pdf.tpl.php ... nicht gefunden
am 03.04.2014 - 10:53 Uhr
Vielen Dank schon mal für den Tipp - das hört sich machbar an und hat mich gleich mal auf einen seltsamen Punkt aufmerksam gemacht.
Das Modifizieren eines Views Templates ist ja keine große Sache und sehr viel sympathischer als den View-Namen in der DB auf etwas eigentlich ungültiges zu ändern (so wie im oben verlinkten Thread auf drupal.org vorgeschlagen).
Auch wenn ich im Moment nicht per FTP an meine Sachen rankomme, habe ich trotzdem mal in den View geschaut und finde unter "Template" folgende Info:
Anzeigeausgabe: views-pdf.tpl.php (Datei wurde im Verzeichnis sites/all/modules/views_pdf/ nicht gefunden), views........
Designausgabe: views-pdf-unformatted.tpl.php (Datei wurde im Verzeichnis sites/all/modules/views_pdf/ nicht gefunden), views....
Ausgabe des Zeilendesign: views-pdf-fields.tpl.php (Datei wurde im Verzeichnis sites/all/modules/views_pdf/ nicht gefunden), views.....
Alle anderen Feld-Templates sind dann regulär da.
Bedeutet, ein eigentlich erwartetes template (das zum Modul gehört?!) ist gar nicht da.
Womöglich wäre das ja schon die Lösung und in dem vermissten Template befindet sich default schon die notwendige Content-Disposition.
Muss ich heute abend mal schauen, wo die Templates abgeblieben sind. Wenn das nicht schon hilft, würde ich auf deinen Tipp zurückkommen.
Hi Windm,
am 04.04.2014 - 07:59 Uhr
es könnte dieser Issue sein:
https://drupal.org/node/1228036
die vermissten Templates könnten in sites/all/modules/views_pdf/theme
liegen.
Kopier die mal ins root des Modules.
Ansonsten kopier Sie vom views/theme ordner und bennene Sie um.
LG
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
schon seltsam...
am 04.04.2014 - 09:43 Uhr
... dass das mit den fehlenden/falsch abgespeicherten tpl.php´s nie behoben wurde. Aber wenn ich das richtig überflogen habe, wird die 6.x er Version des Moduls auch gar nicht mehr maintained (?) :-(
Naja - ebenfalls seltsam, dass mir das mit den als fehlend gemeldeten Templates auch erst nach 2 Jahren auffällt, die mein views-pdf-Konstrukt jetzt schon läuft ;-)
Wie auch immer:
- zwei der drei reklamierten tpl waren einfach im falschen Verzeichnis des Moduls > habe ich verschoben
- die reklamierte vies-pdf-fields.tpl gab es gar nicht > da habe ich die views-view-fields.tpl kopiert und umbenannt
Damit sind alle geforderten Templates für den View da und drupal meckert an der Stelle nicht mehr.
Dann habe ich noch deine Zeile von oben in die views-pdf.tpl.php kopiert und siehe da: Es funktioniert! :-)
Vielen Dank für deine Hilfe!