Statische Datei aus dem Web-Verzeichniss verlinken

Gestern musste ich bei einem Projekt eine PDF-Datei aus dem Web-Verzeichniss verlinken.
mit dem link_to oder url_for Helper wird das nicht funktionieren. Oder besser gesagt,
es würde funktionieren aber nur wenn der Front-Controller unterdrück wird also unter Produktivumgebung.

.

     // Produktivumgebung
     // Ausgabe <a href="/downloads/example_pdf_file.pdf">PDF-File</a>
     // Würde funktionieren aber nur durch Zuffal.
     echo link_to('PDF-File', 'downloads/example_pdf_file.pdf');

     // Devumgebung
     // Ausgabe <a href="/frontend_dev.php/downloads/example_pdf_file.pdf">PDF-File</a>
     // Wird nicht funktionieren
     echo link_to('PDF-File', 'downloads/example_pdf_file.pdf');

.

Die Lösung: ein weiterer Helper => public_path()

.

 /**
 * Returns a URL rooted at the web root
 *
 * @param   string  $path     The route to append
 * @param   bool    $absolute If true, an absolute path is returned (optional)
 * @return  The web URL root
 */
function public_path($path, $absolute = false)
{
 ..............

.

Hier das Ergebniss

.

     // Produktivumgebung
     // Ausgabe <a href="/downloads/example_pdf_file.pdf">PDF-File</a>
     echo link_to('PDF-File', public_path('downloads/example_pdf_file.pdf'));

     // Devumgebung
     // Ausgabe <a href="/downloads/example_pdf_file.pdf">PDF-File</a>
     echo link_to('PDF-File', public_path('downloads/example_pdf_file.pdf'));

     // Oder mit dem absoluten Path
     // Ausgabe <a href="http://myprojekt.tld/downloads/example_pdf_file.pdf">PDF-File</a>
     echo link_to('PDF-File', public_path('downloads/example_pdf_file.pdf',true));

.
Dieser Beitrag wurde unter Helper, Symfony 1.4 veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>