"Verschlucken" von absoluten Pfadangaben

Hier bitte Probleme zu ConPressoPlus melden. Hier werden Ursachen und Lösungsvorschläge diskutiert.
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

"Verschlucken" von absoluten Pfadangaben

Beitrag von hscha »

Lieber Markus,
liebe CPO-User:innen,

ich verwende in einem Artikeltemplate eine absolute Pfadangabe für ein Bild:
.
Im HTML-Quelltext taucht die Pfadangabe jedoch relativiert auf:
<img src="../../bilder/global/t-aid-neu.gif"
Ich verstehe nicht, wo der absolute Pfad verlorengeht. Passiert das beim Parsing?

Für einen Tipp wäre ich dankbar...
Grüße von Horst

P.S.: CPO 4.1.6+1 mit PHP 7.4
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: "Verschlucken" von absoluten Pfadangaben

Beitrag von MarkusR »

Vorsichtige Nachfrage um Missverständnisse zu vermeiden:

Du meinst mit
ich verwende in einem Artikeltemplate
dass dies ein manueller Eintrag im Template-Editor ist und nicht ein im Content-Editor eingebener HTML-Code bzw. Bild-URL?

Was steht denn nach dem Speichern in der Datenbank?

Fehlt die absolute Angabe schon in der DB, dann liegt es am Editor, genauer gesagt am Browser, der den Code bereits interpretiert statt ihn einfach nur anzunehmen.
Fehlt sie erst bei der Ausgabe der Seite, dann liegt es am Parsing-Prozess.

Hinweis: Für Bilder und Dateien in _data werden diese ungewollten relativen URLs in absolute beim Parsen zurückverwandelt. Könnte man eventuell auch für die von Dir verwendeten spezifischen URLs machen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

Re: "Verschlucken" von absoluten Pfadangaben

Beitrag von hscha »

Das Template ist in der Datenbank korrekt abgespeichert...
Sowohl Safari als auch Firefox zeigen im Quelltext relative Links
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: "Verschlucken" von absoluten Pfadangaben

Beitrag von MarkusR »

Ok, es geht also tatsächlich um das Template und somit eine manuelle Eingabe.

Es ist eher unwahrscheinlich dass es sich um einen "Bug" von ConPresso handelt, da es dort nichts gibt, was dieses Verhalten erzeugen würde. Ich will Dir auch nicht jeden Wurm aus der Nase ziehen müssen...

DEIN Problem lässt sich aber "bearbeiten", indem man in _include/select_template.php nach der Zeile

Code: Alles auswählen

$template_datei = str_replace('../_data/', BASE_ABS.'_data/', $template_datei); 
beispielsweise noch eine weitere hinzufügt

Code: Alles auswählen

$template_datei = str_replace('../../', 'https://domain.de/cms/', $template_datei); 
Wenn Du Eingriffe in die Originaldateien vermeiden willst und den "Verbesserten Parser" nutzt, kannst Du dies auch in eine Datei schreiben, die Du dann in mod_parser unter "Zusätzliches Parsing" einbindest analog den dort schon vorhandenen Beispielen.

Eine sehr gut vorstellbare und oft verantwortliche "Fehlerquelle" sind die Browser, die ja nun mal per Definition Interpreter sind, also nicht zwingend das wiedergeben, was man ihnen sendet und es gibt ja auch zahlreiche Möglichkeiten sich den "Quelltext" anzeigen zu lassen (Entwicklertools, Kontextmenü, externer Editor etc.). Es kommt also wie bei vielem auch auf den Empfänger einer Nachricht an, wie er diese wiedergibt :wink: :twisted:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

Re: "Verschlucken" von absoluten Pfadangaben

Beitrag von hscha »

$template_datei = str_replace('../../', 'https://domain.de/cms/', $template_datei);
Hat geholfen! Danke!