Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Ersetzung von idfile=x funktioniert nicht nicht in externen Dateien
Forum Sefrengo.org > Allgemeine Foren > Anwenderforum
CarstingAxion
Bei der Modulentwicklung in einer externen Datei, die ich via
QUELLTEXT
$is_dev=true;
if ($is_dev){
        include "/pfad/zum/neuen/modul.php";
}else {
echo 'ich bin richtiger modul-output';
}
in meinen Moduloutput rein hole ist mir folgendes aufgefallen.

Im Frontend wird cms://idcatside=X sehr anständig in /pfad/auf/meinen/inhalt.html umgeschieben, jedoch cms://idfile=Y wird leider nicht verändert und bleibt als cms://idfile=63 im Quellcode stehen.

Als Testausgabe direkt im Moduloutoput funktioniert cms://idfile=Y einwandfrei und wird zu /meinem/bild.jpg.

Sefrengo-Cache und Browsercache sind geleert, Ideen sind ausgegangen.
Woran kann das liegen? Und was kann ich für eine Lösung tuen?

update: Stelle gerade fest, dass im BE der Pfad korrekt erzeugt wird, nur in der Frontend-Ausgabe eben nicht. Das versteh' ich ja gleich noch weniger.
bjoern
Im Frontend haut Dir der cms_code Cache dazwischen, ist der ausgestellt, klappt es auch im Frontend.

Verhalten ist Folgendes:
Vor dem schreiben in den Cache werden die Dateilinks umgemappt, demzufolge sind idfile Links auch nur in gecachten php möglich, im ungecachten PHP funktioniert das nicht.
Links auf Seiten können eine SessionId enthalten. Daher müssen Links bei jedem Seitenaufruf neu generiert werden. Damit werden diese erst nach dem auslesesn des Cache erstellt.

Im Backend gibt es keinen Cache, da wird alles "live" generiert.
CarstingAxion
Vielen Dank Björn!
Das war ein guter Tipp und hat auch zum gewünschten Erfolg geführt.

Leider stolperte ich heute schon wieder über so ein parsing-Ding, das mir Kopfzerbrechen bereitet.

An einer Stelle wird in meinem Modul abgefragt ob ein bestimmter Wert da ist oder nicht. Wenn ja, kann der Nutzer fröhlich weiter klicken, wenn nicht soll die aktuelle Seite mit einem zusätzlichen URL-Parameter neu geladen werden.

QUELLTEXT
if($a=$b){
  machwas();
}else{
  sf_header_redirect('cms://idcatside=123');
}


Folgende Problematik:
1. Die Weiterleitung funktioniert nicht, ausgegeben wird nur eine weiße Seite mit folgendem Quelltext
QUELLTEXT
<CMSPHP> $cms_mod['modul']['lastentry']='true'; </CMSPHP><CMSPHP></CMSPHP>

2. Wie bekomme ich noch den Parameter an die Url?

Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.