Jump to content

Problem mit dem Warenkorb: Class State not found


Recommended Posts

Hi Leute,

 

der Shop macht mir immer noch Probleme.

Den Warenkorb kann ich füllen. Aber wenn ich versuche, mir den Inhalt anzeigen zu lassen, bekomme ich die Fehlermeldung:

Fatal error: Class 'State' not found in ...htdocs/prestashop/classes/Cart.php on line 2946

 

Eine Suche hat ergeben, dass es eine Datei classes/State.php gibt, in der eine Klasse StateCore definiert wird.

Ich habe dann mal gesucht, wo es die StateCore gibt und bin auf die cache/class_index.php gekommen. Diese wird in classes/Autoload.php verwendet (und erzeugt).

Im Autoload wird in der Methode load() beim Versuch eine Klasse zu laden, die entsprechende Core-Klasse geladen. Sprich ein:

 

Autoload::getInstance()->load("State") sollte die Klasse StateCore laden und dann ein Klasse State erzeugen, die von StateCore abgeleitet wird.

 

Nun die dusselige Frage, weil ich das partout nicht finden will. Wo wird denn die Klasse State geladen?

Im Moment fällt mir als Lösung nur ein, vor der Verwendung im Cart.php die Klasse State über den Autoloader zu laden. Aber ich glaube nicht, dass das den Programmier-Prinzipien von Prestashop entspricht.

Link to comment
Share on other sites

Ok, auch diesen Thread schliesse ich jetzt selber.

 

Inwz. habe ich gefunden, dass PHP ab Version 5 einen Autoload-Mechanismus unterstützt. Hierbei gibt es die Funktion spl_autoload_register, wo man Autoloader definieren kann, welche dann beim Versuch, eine Klasse zu benutzen, die noch nicht geladen ist, aufgerufen werden, um die Klasse zu laden.

Warum es bei mir nicht funktionierte, weiss ich nicht.

Ich habe jetzt das Backup noch einmal komplett hoch geladen, und jetzt tut der Warenkorb, keine Ahnung, was los war.

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...