Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: Contao 4: Alle Inhalte über absolute URLs ausliefern

  1. #1
    Contao-Nutzer
    Registriert seit
    23.06.2009.
    Beiträge
    200

    Standard Contao 4: Alle Inhalte über absolute URLs ausliefern

    Hallo,

    gibt es eine Möglichkeit Contao 4 so einzustellen, dass alle Inhalte (Bilder, Files, etc.) immer über die
    vollständige absolute URL ausgeliefert werden und nicht über BaseUrl + relativer Pfad?

    Wir fragen Inhalte via cURL von einem anderen unserer Server ab und da ist dieses Verhalten mitunter etwas kontraproduktiv ;-)

    Vielen Dank!
    Sares

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Ja, in der Seitenstruktur kannst du die Domain für Dateien einstellen. Das könntest du einfach auf {{env::host}} setzen.

  3. #3
    Contao-Nutzer
    Registriert seit
    23.06.2009.
    Beiträge
    200

    Standard

    Hallo Spooky,

    vielen Dank für deine Nachricht.

    Bei den Inhaltselementen scheint das schon mal zu funktionieren, sehr gut :-)
    Bei allen Inhalten die über den TinyMCE eingearbeitet wurden, allerdings nicht,
    da Contao da ja intern mit den Insert-Tags arbeitet und diese dann natürlich
    zu dem Zeitpunkt noch nicht ersetzt werden.

    Kennst Du hierfür vielleicht auch ein Lösung?

    Besten Dank!
    Sares

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Zitat Zitat von Sares Beitrag anzeigen
    Bei allen Inhalten die über den TinyMCE eingearbeitet wurden, allerdings nicht,
    da Contao da ja intern mit den Insert-Tags arbeitet und diese dann natürlich
    zu dem Zeitpunkt noch nicht ersetzt werden.
    Warum werden die nicht ersetzt?

  5. #5
    Contao-Nutzer
    Registriert seit
    23.06.2009.
    Beiträge
    200

    Standard

    Gute Frage, wir holen uns die Inhalte über:

    $html = \Controller::getArticle($dbResult->article, false, true);

    und machen zur Sicherheit auch noch ein:

    $html = \Controller::convertRelativeUrls($html);

    was für die normalen Inhalte reicht, allerdings für den TinyMCE nicht.
    Meine Kollegin hat jetzt aber mal eine spezielle TinyMCE Config erstellt und folgendes ergänzt:

    convert_urls: true,
    relative_urls: false

    damit macht der Tiny auch schon mal absolute URLs, allerdings erhalten wir dann
    noch bei der Ausgabe einen doppelten Slash bei den Bildern also z.B.:

    http://test.local//files/img/test.jpg

    keine Ahnung, wo der doppelte Slash da auf einmal herkommt, aber das finden wir vielleicht auch noch ;-)

    Ohne die angepasste TinyMCE Config werden die Inhalte nicht ersetzt und wir erhalten in der Ausgabe einfach
    z.B. ein: {{file::d2288c1b-676e-11e9-aac6-2c44fd8558f6}}

    Beste Grüße
    Sares

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Achso, ihr macht das selbst. Dann müsst ihr auch selbst die Insert Tags replacen
    PHP-Code:
    $buffer = \Contao\Controller::replaceInsertTags($buffer); 

  7. #7
    Contao-Nutzer
    Registriert seit
    23.06.2009.
    Beiträge
    200

    Standard

    Ah ok, daran haben wir nicht gedacht, danke Spooky!
    Damit ist auch die angepasste TinyMCE natürlich obsolt und alles funktioniert bestens (soweit).

    Besten Dank!
    Sares

  8. #8
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Ich hab derzeit eine ähnliche Aufgabe bei einer Seite in einem Projekt absolute Links erzeugen zu müssen... weil dort eine Buchungstrecke über eine spezielle Subdomain und Holderplatzhalter eingefügt wird (externer Anbieter - HRS). Am Ende läuft die Subdomain beim externen Anbieter, daher wohl.

    1.) Wenn ich das richtig sehe, kann ich das nicht mit der o.g. Methode bei einer einzelnen Seite innerhalb des gleichen Seitenbaums, wenn die anderen Seiten nicht angepasst werden sollen, richtig? Weil die Einstellung ja im Root erfolgt...

    2.) Das {{env::root}} wird hier (Contao 4.9) leider nur bei Datei-URL ersetzt, nicht bei Assets-URL. Ist das so gewollt?

    Gibts eine generelle Methode alles bzw. eben eine Seite oder eine Seite eines Seitenbaums absolut auszuliefern, auch z.B. Links aus installierten Erweiterungen?

    Danke!
    blucomp | Webdesign & Onlinelösungen

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
  •