[gelöst] Views: Dateiname = Download Link
am 07.10.2015 - 18:06 Uhr in
Hallo allerseits,
ich habe die letzten Wochen schon Spaß mit Drupal und bin total angefixt, weil man so viel auf ganz verschiedene Art und Weise umsetzen. Ich bin blutige Anfängerin und freu mich jedesmal, wenn ich etwas neues lerne.
Bis jetzt bin ich mit der Hilfe von Herrn Google immer weiter gekommen, aber nun hängt es etwas. Das Problem scheint mir so trivial, dass ich mir sicher bin, einfach etwas übersehen zu haben.
Ich nutze File Entity, um Dateien zu "verwalten", so dass nicht jede Datei als Content erscheint. In dem Fall geht es um Dokumente. Als Feld für diesen File Type habe ich nur ein Textfeld "formular_kategorie" hinzugefügt.
Ich habe nun einige Word- und Excel-Dateien (private files) hochgeladen und möchte die über Views in einer zweispaltigen Tabelle ausgeben lassen.
Das meiste klappt auch ganz wunderbar, aber ich bekomme es nicht hin, dass ich auf den Dateinamen klicke und ich damit direkt die Datei herunter lade. Klicke ich auf den Dateinamen, komme ich erst auf die Übersichtsseite (file/dokumentname) und kann dann erst durch erneuetes Klicken den Download (file/id/download?token=) starten. Ich kann zwar bei Views über Fields "Datei: Download link" hinzufügen, aber dann steht da als Ausgabe "Herunterladen" und nicht der Dateiname.
Ich dachte, ich könnte bei den Fieldeinstellungen zu dem "Datei: Download link"-Field bei "Text to display" vielleicht das Token [filename] nutzen, aber das funktioniert nicht.
Momentan kann ich es nur so lösen, dass ich einmal eine Spalte mit dem Dateinamen habe und dann noch mal eine Extraspalte mit dem dazugehörigen Downloadlink. Mein Ziel ist, dass der Dateiname direkt auf die Datei linkt.
Ich bin mir auch nicht sicher, ob ich hier bei Views was verpasse oder ob ich schon bei File Entity etwas nicht beachtet habe.
Und ich hoffe, dass ich mich nicht zu wirr ausdedrückt habe ;)
- Anmelden oder Registrieren um Kommentare zu schreiben
Mit dem Modul File Force kann
am 07.10.2015 - 18:54 Uhr
Mit dem Modul File Force kann man das umsetzen (funktioniert auch mit Views).
Benutze es in mehreren Projekten:
https://www.drupal.org/project/file_force
WEBTRANSFORMER
Du hast es schon fast geschafft.
am 07.10.2015 - 20:15 Uhr
Du kannst einfach dein Feld "Extraspalte mit dem dazugehörigen Downloadlink" (=Dateifeld mit Formatierer "URL zur Datei") in den Feldeinstellungen Von der Anzeige ausschließen und in der Feldreihenfolge vor das Feld mit dem Dateinamen setzen. Jetzt steht dieses Feld als Ersetzungsmuster (token) für die nachfolgenden Felder zur Verfügung, angezeigt wird es nicht.
Als nächstes gehst du in die Feldeinstellungen des Feldes mit dem dargestellten Dateinamen, der als Link funktionieren soll. Unter Ergebnisse überschreiben aktivierst du Dieses Feld als Link ausgeben, scrollst du etwas runter und nimmst dir das Ersetzungsmuster des 1. Feldes und setzt es beim Linkziel ein. Fertig.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Vielen Dank für eure
am 08.10.2015 - 16:57 Uhr
Vielen Dank für eure Antworten.
Ich habe es jetzt erstmal mit der Antwort von marco b. versucht, weil ich es vermeiden möchte für jeden Fitzel ein neues Modul zu nutzen.
Deine Anleitung war super und sehr schlüssig, aber jetzt werden alle Dokumente zu "http://url.de/herunterladen" verlinkt.
Beim Lesen deiner Anleitung kam mir alles sehr logisch vor und ich war mir sicher, dass es funktioniert. Das mit der Feldreihenfolge steht ja sogar da unter replacement patterns*schäm*. Aber ich verstehe nicht, dass er jetzt die sonst angezeigte Ausgabe des versteckten Feldes als Pfad ausgibt.
Prinzipiell klappt es so, wie
am 09.10.2015 - 10:38 Uhr
Prinzipiell klappt es so, wie von mir beschrieben, dein token scheint nicht zu passen.
Wenn du nicht an den Dateipfad kommen solltest, kannst du auf jeden Fall in der view rechts unter Erweitert eine Beziehungen zu allen möglichen Dateiparametern herstellen (unter Dateiverwendung). Danach stehen dir viel mehr "Datei"-Felder zur Verfügung.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Ich habe erst das
am 09.10.2015 - 18:37 Uhr
Ich habe erst das [downlad]-Feld sichtbar gemacht. Das hatte keine Auswirkungen auf die Spalte "Name".
Außer File Entity habe ich nichts in der Richtung installiert.
Ich habe jetzt, wie von dir vorgeschlagen, Beziehungen zur Dateiverwendung hergestellt (hab mal munter alle angeklickt). Daraufhin wurde das Feld "Pfad" verfügbar.
Das Feld Name habe ich dann mit dem [uri]-Token überschrieben, aber da hab die Download-URL nicht gestimmt. Es wurde zu "URL/private://document.doc" verlinkt.
Bei den Feldeinstellungen für "Pfad" habe ich dann bei "Zeige den Downloadpfad anstelle der Adresse der Datei auf dem Server " ein Häkchen gesetzt und jetzt stimmt die URL. Allerdings wird die "nackte" URL angezeigt. Das mit dem "file/id/download?token=" hatte mir eigentlich besser gefallen, aber die gibt es wohl nur mit dem [download]-Feld.
Ein bisschen wahnsinnig macht es mich ja schon, dass ich nicht verstehe warum das mit Überschreiben der Linkausgabe von dem Name-Feld mit dem Download-Feld nicht klappt.
Mensch, ich hab's! Hab gerade
am 09.10.2015 - 18:42 Uhr
Mensch, ich hab's!
Hab gerade noch ein bisschen rumprobiert und es einfach mal umgekehrt gemacht:
Das Download-Feld sichtbar, das mit dem Namen unsichtbar und vor das Download-Feld geschickt. Bei der Ausgabe des Download-Felds das Token für den Namen eingegeben und siehe da, es funktioniert! Wenn ich drüber nachdenke, macht es ja Sinn bei einer vorhandenen URL einfach den Namen zu überschreiben und nicht umgekehrt.
Jedenfalls vielen, lieben Dank für deine Hilfe und besonders für deine genauen Beschreibungen!
Freut mich. Mach doch dann
am 09.10.2015 - 21:05 Uhr
Freut mich. Mach doch dann beim Thread noch ein [gelöst] vorn ran.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de