Logout wird auf eine weisse Seite weitergeleitet

Hallo zusammen!

Ich musste heute merken dass wenn ich als Test-Käufer im Shop einlogge… und später Ausloggen möchte mit der Botton ganz oben rechts, leitet die Seite auf eine leere Seite.
Wenn ich aber Auslogge über der Botton “Abmelden” rechte leiste, neben den Artikel, dann leitet er zurück auf dem Shop.
Ich würde gerne das es auch oben richtig weiterleitet.
Wie kann ich das lösen? In welcher Datei?

Danke
misnails

Hast Du schon das Update auf 4.2 eingespielt?
Da sollte es nicht mehr vorkommen.

[QUOTE=simply because;20188]Hast Du schon das Update auf 4.2 eingespielt?
Da sollte es nicht mehr vorkommen.[/QUOTE]

Hallo simply because,
ich benutze die neue Version, bzw. die 4.2.0

Habt noch eine Idee? :confused:

Vielen Dank
misnails

[QUOTE=misnails;20556]Hallo simply because,
ich benutze die neue Version, bzw. die 4.2.0

Habt noch eine Idee? :confused:

Vielen Dank
misnails[/QUOTE]
Weisse Seite bedeutet immer: Fehler ist aufgetreten…

Schau mal in “logs/exceptionlog.txt” ob da ein Eintrag ist, der dazu was sagt…

(Vermutlich eher nicht, da die übliche Exceptionbehandlung von OXID in schlichter Arbeitsverweigerung besteht, ohne Mitteilung, was denn nicht passt…)

Habe diesen Fehler nun auch, kann noch etwas detaillieren:

Und zwar tritt der Fehler nur auf, wenn ich mich aus der Detailansicht auslogge, wenn also die Klasse details.php aufgerufen wird.

Weiße Seite hängt dann mit der URL

https://xxx.xxxxx.xx/index.php?force_sid=4e88b27b097dd92651f58966bd6b6ec0&cl=details&cnid=cat468&fnc=logout&redirected=1

Ändere ich in der URL die Klasse auf alist, funktioniert der Redirect:

https://xxx.xxxxx.xx/index.php?force_sid=4e88b27b097dd92651f58966bd6b6ec0&cl=alist&cnid=cat468&fnc=logout&redirected=1

In den Klassen konnte ich nix finden, was das unterschiedliche Verhalten erklären würde.

Weiß jemand Rat?

Grüße,
Achim

Idee: cnid ist ja auch nur eine gültige Kategorien-ID, der Redirect scheint beim Ausloggen also nur die Kategorien-ID abzugreifen, müßte in der Detailansicht aber die Artikel-ID mitnehmen.

Kann das an meinem Template liegen?

Nachtrag: Mit dem Details.tpl aus der basic-Vorlage ist das Verhalten gleich, liegt also nicht an meinem Details-Template.

Nachtrag: Im Oxid-Demoshop läßt sich das nicht überprüfen, weil der kein HTTPS verwendet (warum eigentlich nicht?).

[QUOTE=oxal;27113]Nachtrag: Im Oxid-Demoshop läßt sich das nicht überprüfen, weil der kein HTTPS verwendet (warum eigentlich nicht?).[/QUOTE]
Dass das am SSL-Protokoll liegt, halte ich für höchst unwahrscheinlich.

Das ändert ja nur was am Transport der Daten zwischen Server und Browser, aber nichts an der internen Verarbeitung im Shop.

Gibt das Exception-Log einen Hinweis?

Sonst mal in der config-Datei iDebug=3 setzen, dann gibt es, vielleicht, eine aussagefähige Fehlermeldung.

http://www.oxid-esales.com/forum/showthread.php?p=26335&highlight=error_reporting#post25510 hat zeigt weitere Möglichkeiten, den Fehler einzukreisen.

Danke erstmal, Avenger, ich schau mir’s nächste Woche an!

Schönes Wochenende!
Achim

Hi,

es ist ein Bug in der Funktion, die den Logout-Link erzeugt (in oxviewconfig.php):

00078     public function getLogoutLink()
00079     {
00080         $sClass   = $this->getActiveClassName();
00081         $sCatnid  = $this->getActCatId();
00082         $sTplName = $this->getActTplName();
00083 
00084         $sLink = $this->getConfig()->getShopHomeURL()."cl={$sClass}&".( $sCatnid ? "cnid={$sCatnid}" : '' )."&fnc=logout".( $sTplName ? "&tpl=".basename( $sTplName ) : '' )."&redirect=1";
00085         return $this->getSession()->processUrl( $sLink );
00086     }

Die details-Klasse kann den Link nur verarbeiten, wenn sie den Parameter “anid” bekommt, die ID des Produks.

Kriegt sie aber nicht.

Wenn ich cnid=XXX in der Logout-URL gegen ein gültiges anid=XXX ersetze, funktioniert Logout und Redirect.

Hat jemand eine schnelle Idee, welches andere der vielen GetLink-Objekte hier die richtie ID des aktuellen Produkts ermittelt, damit man den Code in des GetLogoutLink-Objekt reinbauen kann?

Grüße,
Achim

PS: Die Debug-Varianten bleiben bei diesem Fehler leider stumm. Ich vermute, die Exception-Log wird nur gefüllt, wenn auch ein Fehler im Screen ausgegeben wurde.

[QUOTE=oxal;27217]Hat jemand eine schnelle Idee, welches andere der vielen GetLink-Objekte hier die richtie ID des aktuellen Produkts ermittelt, damit man den Code in des GetLogoutLink-Objekt reinbauen kann?[/QUOTE]
Das nicht…

Aber Du kannst ja im Template hinter den GetLogoutLink einfach noch den “anid”-Parameter anhängen…

[{xxxx->getLogoutLink()}]&anid= [{$wie immer man an die Produkt-id kommt}]

Danke vielmals, ich schulde Dir ein Bier!

gelöst mit:

In die details.tpl:
[{ assign var=“ProduktID” value=$product->oxarticles__oxid->value }]

Und an den Abmeldelink ran:
&anid=[{$ProduktID}]

Flutscht!

[QUOTE=oxal;27224]Danke vielmals, ich schulde Dir ein Bier![[/QUOTE]
Dann schick’ mal 'rüber…

[QUOTE=oxal;27224]
gelöst mit:

In die details.tpl:
[{ assign var=“ProduktID” value=$product->oxarticles__oxid->value }]

Und an den Abmeldelink ran:
&anid=[{$ProduktID}]

Flutscht![/QUOTE]
So würde das auch ausreichen…

&anid=[{$product->oxarticles__oxid->value}]

Hast Du den Logout-Link In die details.tpl eingebaut?

Der Logout-Link ist bei mir direkt im _header.tpl, den Account-Kasten benutze ich nicht.

Das $product-Element direkt zu verwenden, würde vielleicht auf Seiten, die die Klasse nicht verwenden, zu Fehlern führen (hab ich aber nicht probiert).


Das Bier ja vielleicht in Freiburg Anfang Mai. Bin noch nicht sicher, ob ich kommen kann, wäre aber nett. Wird noch rechtzeitig abgestimmt!

Hallo,

ich habe das gleiche/ähnliche Problem. Beim Versuch mich als Kunde einzuloggen, 2x versucht mit falschem Passwort, kam nur noch eine weiße Seite bei folgender URL.
…de/index.php?cl=content&tpl=user_blocked.tpl&redirect ed=1

Das gleiche ist mir passiert als ich mich tagszuvor als regulär eingeloggter Kunde ausloggen wollte.

Ein Refresh der Seite hat auch nichts gebracht, der Shop war nicht mehr zugänglich. Am nächsten Tag hat es wieder funktioniert.

Woran liegt das?

Beste Grüße,
Oliver

Hallo Oliver,

das kann ich im Demoshop nicht reproduzieren. Wie sieht’s bei Dir aus?

Gruß