Contao Konferenz 2019 in Duisburg - Call for Papers
Ergebnis 1 bis 13 von 13

Thema: Ist {{env::files_url}} depricated?

  1. #1
    Contao-Nutzer
    Registriert seit
    28.03.2010.
    Ort
    Tübingen
    Beiträge
    90

    Standard Ist {{env::files_url}} depricated?

    Um nicht bei Contao 4 wieder den Upload-Pfad in einem Modul ändern zu müssen, wollte ich {{env::files_url}} nutzen. Leider funktioniert das nicht - der Wert ist nicht gesetzt.
    Muss ich den vorher irgendwo definieren oder ist die Variable inzwischen depricated?

  2. #2
    Contao-Urgestein Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    9.961
    User beschenken
    Wunschliste

    Standard

    Ab Contao 2.11 sind die anders, hier ein Überblick über die alten bis 2.10 und neuen ab 2.11
    http://de.contaowiki.org/Insert-Tags#Umgebungsvariablen
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Nutzer
    Registriert seit
    28.03.2010.
    Ort
    Tübingen
    Beiträge
    90

    Standard Doku nicht aktuell?

    Danke für den Hinweis. Die Seite hatte ich schon gelesen. Unter "weitere Insert-Tags" steht da
    {{env::files_url}} - liefert TL_FILES_URL
    Wie gesagt, bei mir blieb die Variable leer.
    Der Pfad wird sich wohl lange nicht mehr ändern, deshalb kann ich auch mit einem festen Pfad leben. Wäre aber in Bezug auf Zukunftssicherheit ganz nett gewesen...

    Vielleicht kann ja noch jemand klären, ob die Doku Angabe veraltet ist oder ob es sich lediglich um einen RC-Bug handelt.

  4. #4
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    6.357
    Partner-ID
    152
    User beschenken
    Wunschliste

    Standard

    Da ich grad nochmal im Quellcode nachgeschaut habe und dort definitiv in der Abteilung 'env'
    Code:
    case 'files_url': $arrCache[$strTag] = TL_FILES_URL;
    in Zeile https://github.com/contao/core/blob/...ller.php#L1638 steht - wie hast Du den Insert-Tag denn eingegeben? Kopiert?
    Geändert von lucina (26.09.2012 um 19:44 Uhr)

  5. #5
    Contao-Nutzer
    Registriert seit
    28.03.2010.
    Ort
    Tübingen
    Beiträge
    90

    Standard

    Danke für die Rückmeldung.

    Faulerweise habe ich den Code kopiert, aber gerade nochmals eingetippt und auf Tipp-Fehler kontrolliert. Die Ausgabe bleibt leer.
    Eventuell habe ich heute Abend Zeit noch ein wenig mit einer Demo-Installation herumzuspielen.

  6. #6
    Contao-Nutzer
    Registriert seit
    18.07.2012.
    Beiträge
    17

    Standard

    Ich kann {{env::files_url}} auch nicht verwenden.

    Versuche ich, die Konstante "TL_FILES_URL" auszugeben, bleibt sie leer.
    Die Konstante TL_FILES_URL_BLA wiederum wird bei
    echo TL_FILES_URL_BLA;
    einfach so als
    TL_FILES_URL_BLA
    ausgegeben; logisch, weil sie ja nicht definiert ist, also als String behandelt wird.

    Das sagt mir: In der fe_page und der fe_article ist {{env::files_url}} bzw TL_FILES_URL zwar definiert, aber besitzt keinen Wert (Contao 2.11.6). Das ist mit ziemlicher Sicherheit ein Bug und soll so nicht sein.
    Ich kann leider gerade nicht testen, ob das mit Contao3 behoben wurde.

    Mit $GLOBALS['TL_CONFIG']['staticFiles']; funktioniert es aber ;-)

  7. #7
    Contao-Nutzer Avatar von jbev
    Registriert seit
    18.02.2013.
    Beiträge
    8

    Standard

    Gibt's hier eigentlich mittlerweile einen Fix? Die Variable ist leider immer noch leer und es scheint keinen adäquaten Ersatz zu geben.
    Nun ist es kein Drama, stattdessen einfach "/files" zu schreiben, aber irgendwie hinterlassen hartkodierte Pfade bei mir immer einen bitteren Beigeschmack.

  8. #8
    Contao-Urgestein Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    9.961
    User beschenken
    Wunschliste

    Standard {{env::files_url}} , nach einer halben Stunde debuggen...

    Also, vielleicht seit ihr ja wieder reingefallen, denn
    a) es gibt 2 Stellen diesen Wert zu definieren
    b) bei mir (Contao 3.0.5) funktioniert es.

    zu a)
    System - Einstellungen: Datei-URL: Gilt nur für das Backend und landet in der localconfig als $GLOBALS['TL_CONFIG']['staticFiles']
    Layout - Seitenstruktur - Startpunkt einer Webseite: Gilt für das Frontend und landet in der Datenbank.

    Der Insert-Tag {{env::files_url}} wird in beiden Ansichten, Frontend wie Backend ersetzt, nur halt aus der entsprechenden Definition.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  9. #9
    Contao-Nutzer Avatar von jbev
    Registriert seit
    18.02.2013.
    Beiträge
    8

    Standard

    Okay, danke. Das habe ich vollkommen übersehen.
    Trotzdem verstehe ich diese Einstellung noch nicht so ganz. Irgendwie wird da immer noch der Base-Path angehängt.
    Hier lokal liegt die Contao-Installation unter /foo/bar und wenn ich im Startpunkt der Website als Files-URL http://localhost/foo/bar/files angebe, dann wird im Frontend immer http://localhost/foo/bar/files/foo/bar daraus.

  10. #10
    Contao-Urgestein Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    9.961
    User beschenken
    Wunschliste

    Standard

    Ja, richtig, es soll ja auch nur die Domain dafür rein, das wird leider nicht ganz so deutlich in der Beschreibung.
    Also in deinem Beispiel: http://localhost
    /foo/bar kommt aus der Pfad Definition, und files aus Contao selbst aus der Dateiverwaltung.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Contao-Nutzer Avatar von jbev
    Registriert seit
    18.02.2013.
    Beiträge
    8

    Standard

    Na, das Problem ist doch, dass "files" eben nicht angehängt wird.
    Der URL, der aus der Eingabe http://localhost/foo/bar/files entsteht, ist halt nicht http://localhost/foo/bar/files/foo/bar/files, sondern nur http://localhost/foo/bar/files/foo/bar.

    Gebe ich also nur http://localhost ein, so wird daraus http://localhost/foo/bar, was auf das Installationsverzeichnis und nicht auf das Files-Verzeichnis verweist und damit effektiv dasselbe ist wie {{env::path}}. Wozu dann {{env::files_url}} wenn es sowieso nicht auf das eigentliche Files-Verzeichnis verweist? Allein für die Verwendung mit einem CDN?

    Im Moment nutze ich {{env::path}}/files/ in meinen CustomHTML-Modulen. Ich würde aber lieber etwas wie {{env::files_url}} verwenden.

  12. #12
    Contao-Urgestein Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    9.961
    User beschenken
    Wunschliste

    Standard

    Allein für die Verwendung mit einem CDN
    zum Beispiel. Aber auch parallel zur Contao installation macht das Sinn, da dies dann eine non-cookie-domain ist. Ich halte davon aber nicht viel.
    Meine Messungen waren meist nachteilig, die zweite DNS Auflösung dauerte manchmal länger als das laden ohne weitere Domain.

    Die Pfade in Contao sind ja alle relativ und beginnen hier mit files/, das wird also erst im Link dann zusammen gebaut.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  13. #13
    Contao-Nutzer Avatar von jbev
    Registriert seit
    18.02.2013.
    Beiträge
    8

    Standard

    Wenn das alles ein Feature und kein Bug ist, würde ich vorschlagen, die Beschreibung zu präzisieren. So ist das mehr als missverständlich.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •