Jump to content

Bestellübersicht / Details im BO verliert Formatierung nach Statuswechsel


bleumel

Recommended Posts

Moin,

 

bei mir tritt neuerdings ein Fehler auf, den ich leider nicht mal zu benennen vermag, daher wurde ich auch in der Forumssuche nicht fündig.

 

Kurz beschrieben,

im Backoffice -> Bestellungen - > in einer Bestellung / Details

wenn ich den Status wechsel oder z.B. eine Teilerstattung vornehme, dann zerschiesst es mir die Anzeige bzw. Formatierung der Seite. Wirklich arbeiten geht dann mit dieser Bestellung auch nicht mehr.

 

Hier mal ein Bild wie es dann im Browser (Chrome und FF) ausschaut:

post-1257018-0-86579500-1501081056_thumb.png

 

Das erste Mal ist es mir aufgefallen, als ich Stati bei Amazon Bestellungen änderte. Gut, dachte ich mir, wenn es nur diese sind, egal....

 

Nun taucht es aber auch bei Teilerstattungen auf, ohne aktiven Statuswechsel dazu.

 

Hat da schon jemand mit Erfahrungen gemacht oder kann sich einen Reim darauf machen?

 

version 1.6.1.13

 

Daanke

Link to comment
Share on other sites

Browser Cache löschen hilft leider nicht.

 

Ich habe die Seite mit den Entwickler tools dokumentiert. Es wird ein 500 ausgegeben.

Foto: post-1257018-0-56281500-1501762770_thumb.png

 

Die Fehlerhafte URL wird (in veränderter Form) so angegeben:

 

 

Leider kann ich mir daraus keinen Hinweis auf eine Fehlerbehebung herleiten.

Siehst du da etwas draus?

Link to comment
Share on other sites

Es gibt im Pfad /config eine Datei namens defines.inc.php

Darin findet man diese Zeile:

define('_PS_MODE_DEV_', false);

und ändert diese (temporär !!! ) wie folgt:

define('_PS_MODE_DEV_', true);

Dadurch bekommt man von PrestaShop Debug-Meldungen angezeigt, oft eben auch korrekte Fehlermeldungen, wenn etwas nicht richtig läuft.

Also diese Änderungen temporär machen und dann obige Aktion nochmals ausführen. Dann sollte man auf dem Schirm eine Meldung haben, die weiterhelfen könnte.

 

Wichtig:

Diesen Developer Modus nur kurzfristig aktivieren, da er auch auf dem Frontend Meldungen anzeigt, die ein Kunde nicht sehen will.

 

Die Variante für Profis:

if (!defined('_PS_MODE_DEV_')) {
    
// SCULLYS TRICK - ONLY FOR TESTING
if ($_SERVER['REMOTE_ADDR'] == '123.123.123.123' ) {
    define('_PS_MODE_DEV_', true);
 } else {
    define('_PS_MODE_DEV_', false);    
 }
}

Obiger Code Schnipsel erweitert die Datei defines.inc.php so, dass der Developer-Mode nur für eine spezifische IP, im Beispiel 123.123.123.123. Damit wird dieser Modus mit Debug-Meldungen nur für eine einzige IP-Adresse (=diejenige Deines PCs, nicht etwa die des Servers) aktiviert. Damit sehen Kunden nichts von solch "unerwünschten" Meldungen, und man kann ganz ohne Stress trotzdem die eigenen Tests durchführen.

 

Wenn man das so nutzen will, einfach 123.123.123.123 durch die IP des eigenen Rechners ersetzen.

Edited by Scully (see edit history)
Link to comment
Share on other sites

Liesse sich da statt einer fixen IP nicht auch eine variable Adresse setzen?

 

Ich meine z.B. dass in der Fritze ja der Dyn-DNS-Eintrag da ist, mit dem man sich über die entsprechenden Portfreigeban ja ins eigene Netz einloggen kann. Die Browseradresse "meinname.dyndns.org" löst das ja entsprechnd auf und man hat dann, wenn man bei einem Zwangstrenner im Internet ist oder aus anderen Gründen ständig wechselnde IPs hat, die Änderung im Script nur einmal zu machen.

 

Da ich gerade 1000 km weg von meiner Testmöglichkeit bin, frage ich jetzt ebebn, anstatt es selbst mal kurz zu testen. :)

Link to comment
Share on other sites

Hallo Claudio,

 

Natürlich könnte man das. Was aber dagegen spricht:

 

1. Mit Debug Modus arbeitet man ja in der Regel nur kurzzeitig solange man einen Fehler eingrenzen möchte. Danach hat man als Betreiber diesen Modus auch gerne wieder ausgeschaltet. Daraus folgt, dass man um die gelegentliche Änderung an defines.inc.php ohnehin nicht herum kommt zwecks Ein- und Ausschalten.

 

2. Dass eine Zwangstrennung dazwischen funkt scheint mir nicht als hohes Risiko. Wir können bei uns selbst steuern ob eine Zwangstrennung überhaupt stattfindet und wenn ja, um welche Uhrzeit (z.B. 03h00).

 

3. Es gibt soviele DNS-Dienste mit unterschiedlichen Wegen, die IP abzufragen oder die Aktualisierung der Domainauflösung zu veranlassen. Sicher aber würde ich hier nicht auf Daten einer Fritzbox abstützen.

 

Mein Fazit: Ich bin kein fauler Hund, aber diesen Aufwand würde ich mir sparen. Und ich weiss dann auch immer, welche IP den Debug Modus bekommt und muss mich auch nicht auf manchmal nicht 100% zuverlässige Dienste verlassen.

 

Viele Grüsse in den Süden.

Edited by Scully (see edit history)
Link to comment
Share on other sites

Sorry, ich kam bisher nicht dazu. Tagesgeschäft geht vor. ;-)

 

Ich habe den Debug Modus nun mal aktiviert und mir die Bestelldetails im BO noch mal angesehen.

 

Fehlermeldung bei versendeten Amazon Bestellungen:

Fatal error: Call to undefined method OrderInvoice::getDeliveryNumberFormatted() in /var/www/clients/client1218/web2723/web/cache/smarty/compile/c8/1b/25/c81b259c6b2a692cd06d9c725c7ce959ddf4572b.file.view.tpl.php on line 2099

und bei Teilgutschrift:

Fatal error: Call to undefined method OrderSlip::getCreditSlipsNumberFormatted() in /var/www/clients/client1218/web2723/web/cache/smarty/compile/c8/1b/25/c81b259c6b2a692cd06d9c725c7ce959ddf4572b.file.view.tpl.php on line 2106

Darauf hin habe ich mir die Einstellungen der Lieferscheine, rechnungen und Rückvergütungen angesehen und dazu alle möglich beteilgten Module (Advanced Invoice, Numbers, ) deinstalliert.

 

Leider ohne gewünschtes Ergebnis.

 

Ich komme nicht drauf.... :-(

 

Link to comment
Share on other sites

Man sollte auch mit Tagesgeschäft schon ein Wenig am Ball bleiben, wenn man das Problem hier mit Hilfe gelöst bekommen will.

Die Fehlermeldungen sehen sehr stark nach einem Override aus. Kannst mal den Inhalt dieser Datei als formatierten Quellcode (Button <>) hier posten:

/var/www/clients/client1218/web2723/web/cache/smarty/compile/c8/1b/25/c81b259c6b2a692cd06d9c725c7ce959ddf4572b.file.view.tpl.php
Link to comment
Share on other sites

 

Man sollte auch mit Tagesgeschäft schon ein Wenig am Ball bleiben, wenn man das Problem hier mit Hilfe gelöst bekommen will.

Die Fehlermeldungen sehen sehr stark nach einem Override aus. Kannst mal den Inhalt dieser Datei als formatierten Quellcode (Button <>) hier posten:

/var/www/clients/client1218/web2723/web/cache/smarty/compile/c8/1b/25/c81b259c6b2a692cd06d9c725c7ce959ddf4572b.file.view.tpl.php

 

Kann es sein, dass dies eine temporäre Datei ist? Ich kann sie nämlich nicht finden. Weder im Browser Direktaufruf noch auf dem Server (FTP) im Verzeichnis.....

Link to comment
Share on other sites

Diese Datei ist in der Tat eine temporär Datei. Sie wird vom Smarty Cache erstellt und nach gewisser Zeit gelöscht oder erneuert. Wenn man den Cache manuell leert, dann sind da auch erstmal keine Dateien im /cache/smarty Pfad, bis man die Seite erneut aufruft, welche das entsprechende .tpl File nutzt.

Edited by Scully (see edit history)
Link to comment
Share on other sites

Empfohlene Vorgehnesweise für das Testen:

 

1. Cache löschen

2. Auf dem Server einloggen und in das Verzeichnis der Logfiles wechseln

3. DEV Mode einschalten

4. Test durchführen im Back- oder Frontoffice

5. Unmittelbar danach das Fehlerlogfile anschauen

6. Unmittelbar danach ggf. im Logfile referenzierte Files prüfen

7. Ergebniss mittels Screenshot oder anderweitig dokumentieren

8. DEV Mode ausschalten

 

Wenn man hingegen ein Logfile von gestern nimmt und das einen Tag später nachvollziehen will, sind bestimmte Files im SMARTY Cache evtl. schon weg oder andere Systemparameter nicht mehr dieselben. Darum: Testen und Ergebnisse auswerten immer an einem Stück.

 

Das heisst konkret: Den gestern geposteten Dateinamen vorderhand vergessen und obiges Setup nochmals von vorne durchstarten.

Edited by Scully (see edit history)
Link to comment
Share on other sites

Was mir aus dem Front Office auf die Schnelle aufgefallen ist.

 

1. Das Design gefällt mir sehr gut. Kompliment.

 

2. Arbeitet man (wir wir bei uns im Büro) in einem Netzwerk, welches Tracking Services (zB Google-Analytics) oder Werbenetzwerke per Default nicht zulässt, dann lädt Deine Seite endlos bis der Browser abstürzt.

 

Der Grund dürften wohl ein oder mehrere Google Module sein, welches die (nicht erreichbare URL) endlos aufrufen. Ein möglicherweise gleich gelagertes Problem könnte Besucher betreffen, welche z.B. das AdBlock Plugin für Ihren Browser verwenden. Die aufgerufenen Domains lauten google-analytics.com, googleecommerce.com sowie googleadservices.com.

 

3. Du hast sehr viele Produkte auf der Startseite. Die Startseite umfasst knapp 6 MB an Daten und rund 209 einzelne Objekte.

 

Ladezeit mit leerem Browser Cache: 17 Sekunden

Ladezeit mit leerem Browser Cache und Google Tracking nicht erlaubt: unendlich

 

Ich würde mich aber dennoch erstmal um die entscheidenden Problem kümmern. Alles Schritt für Schritt.

Edited by Scully (see edit history)
Link to comment
Share on other sites

Hi Scully,

 

vielen Dank. Und ja, ich weiß! ;)

 

Das System läuft einigermaßen stabil und hat die ersten 1200 Bestellungen auch gemeistert, es bleiben aber noch sooo viele Baustellen. Z.B. Bilderoptimierung usw usw.

Bevor ich mich aber ans optimieren mache, will ich erst mal die bugs ausmerzten die stören und ich als wichtiger erachte.

 

Ich musste im April meinen alten Shop dringend abschalten und das was jetzt läuft, daher auch noch Standard-Template, ist sowas wie eine quick-n-dirty Version. Lange nicht fertig.

 

Auf bald

bleumel

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...