Falscher Pfad bei Bilder aus Mediathek

  • Affected App
    WoltLab Suite Core

    Hallo zusammen,


    ich stehe aktuell vor einer Herausforderung die sich aufgrund der Aufteilung zwischen Frontend und ACP ergibt. Das Problem sieht wie folgt aus:


    Ich nutze den WYSIWYG-Editor um einen E-Mail-Inhalt zu erstellen. Dort füge ich über den Media-BBCode ein Bild aus der Mediathek ein. Daraus wird folgendes HTML generiert


    Code
    <img src="https://domain.tld/acp/index.php?media/1-image-jpg/" class="woltlabSuiteMedia" data-media-id="1" data-media-size="original">


    Dieser Pfad enthält das "/acp" welches für normale Nutzer nicht verfügbar ist. Das Bild wird im E-Mail-Client also nicht angezeigt.


    Nun hatte ich die Überlegung das ganze per HtmlInputProcessor als BBCode zu speichern und per HtmlOutputProcessor umzuwandeln. Ähnlich der Vorgehensweise beim Erstellen von Seiteninhalten. Hier bekomme ich beim Ausführen nun aber den Fehler "Unable to find template 'mediaBBCodeTag'" - da dieses Template im ACP nicht verfügbar ist.


    Es sollte entweder beim HTML der Mediathekbilder immer der Frontend-Pfad verwendet werden, oder das Parsen der MediaBBCodes auch im ACP möglich sein.


    Viele Grüße,

    Daniel

  • Christopher Walz  Tim Düsterhus

    Ah verstehe. Das Problem ist allerdings, dass der falsche Link ja bereits beim Hinzufügen des Mediathekbildes im Editor entsteht. Durch eine Gastsession würde also das HTML nicht im Nachhinein korrigiert werden und auch das mediaBBCodeTag ist dadurch weiterhin nicht verfügbar.

  • Nachtrag:


    Ich bin jetzt mal ein bisschen kreativ geworden und nutze eine ähnliche Vorgehensweise wie die der Sessionmanipulation um die nötigen Templates verfügbar zu haben.


    Den Template-Fehler konnte ich damit beheben, allerdings ist der Pfad der Mediathek-Bilder weiterhin falsch (/acp/)


    Hier mal der komplette Code:



    Trotz der geänderten User-Session ist das Ergebnis wieder dasselbe wie als ich direkt mit HTML ohne Processor (BB-Code) gearbeitet habe.


    https://domain.tld/acp/index.php?media/1-image-jpg/


    Habt ihr eine Idee?

  • Also ich habe das Verhalten auch ganz normal im ACP. Beispielsweise beim Erstellein einer CMS-Seite. Ich lade über den Media-BBCode mehrere Bilder hoch, wähle danach eins aus und in einigen Fällen wurde es mit /acp/ im Link in den Editor eingefügt. Muss man dann händisch über doe Quellcode-Ansicht entfernen.


    Muss doch also im Core direkt irgendwo hängen.

    • Official Post

    Dass Medienlinks im ACP acp/ enthalten ist korrekt. Der Anwendungsfall, dass aus dem ACP heraus Ausgaben generiert werden sollen, bei denen Medienlinks ins Frontend zeigen, wurde bisher nicht abgedeckt und hat nur damit zu tun, wie der Link selbst generiert wird und nicht mit dem aktuellen Benutzer, wie oben spekuliert. Der aktuelle Benutzer spielt nur eine Rolle bei der Überprüfung der Zugriffsrechte auf die Mediendatei, also ob überhaupt ein Link generiert wird oder nicht.


    Mit WoltLab/WCF@4411cb11 kann nun vorm Generierung der Ausgabe im ACP WoltLabSuiteMediaBBCode::$forceFrontendLinks auf true gesetzt werden (und danach wieder auf false), was dafür sorgt, dass die Links auf jeden Fall zum Frontend zeigen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!