Ich möchte die Funktion "build_sql_query()" aus der Klasse "SpecialsMainContentView" überladen, um dort einige Änderungen einzufügen. Sobald ich aber im Verzeichnis "GXUserComponents/overloads" ein Unterverzeichnis "SpecialsMainContentView" anlege und dort eine Datei mit der Klassen Definition erstelle, wird der Aufruf des gesamten Shops geblockt und im Protokoll wird ein 500er Fehler angezeigt. Die genaue Fehlermeldung lautet: Der Code für die Klasse lautet: PHP: <?phpclass OvloSpecialsMainContentView extends OvloSpecialsMainContentView_parent{ protected function to_build_sql_query() { $t_fsk_lock = ''; if($this->customers_fsk18_display == 0) { $t_fsk_lock = ' AND p.products_fsk18 != 1 '; } $t_group_check = ''; if(GROUP_CHECK == 'true') { $t_group_check = ' AND p.group_permission_' . $this->customers_status_id . ' = 1 '; } $t_specials_query = "SELECT p.products_id FROM (SELECT s.products_id FROM " . TABLE_SPECIALS . " s WHERE s.status = '1' LIMIT " . (int)MAX_RANDOM_SELECT_SPECIALS . ") AS s, " . TABLE_PRODUCTS . " p WHERE p.products_id = s.products_id AND p.products_status = '1' " . $t_group_check . " " . $t_fsk_lock . " ORDER BY RAND() LIMIT " . $this->specials_count ; return $t_specials_query; }} Auf der Line 22 steht die Klassendefinition, ich habe die Kommentare oben aus dem Code rausgenommen. Bin ich Heute zu blöd oder gibt es etwas was ich nicht bedacht habe? Es würde mich freuen wenn jemand eine Idee hat und mir weiterhelfen kann. Viele Grüße Kai
Hallo Kai, zwei Dinge würden mich interessieren ohne genau auf die Änderungen einzugehen: 1. Was ist mit der KS_SpecialsMainContentView.inc.php? Wofür? 2. Und warum OvloSpecialsMainContentView_parent? Viele Grüße
zu 1. kann nur Kai antworten. zu 2. steht das so in der Anleitung von Gambio: (Link nur für registrierte Nutzer sichtbar.)
Zu 1: Das ist die Datei, in der die Klassendefinition und der Sourcecode für die angepasste Funktion enthalten ist. Laut Gambio Developer Tutorial kann man einen beliebigen Dateinamen in dem Overload-Verzeichnis wählen. Zu 2: Auch das habe ich aus dem Tutorial, dort wir angegeben: also in meinem Fall von "OvloSpecialsMainContentView_parent".
In dem Augenblick wo ich die obige Antwort geschrieben habe, fiel mir auf, dass evtl der Klassenname und der Dateiname übereinstimmen sollten, denn dann klappt es. Also, Fall gelöst.
Hallo Kai, wenn der Name der Datei KS_SpecialsMainContentView.inc.php ist, muss das acuh in der Datei so stehen. Statt class OvloSpecialsMainContentView extends OvloSpecialsMainContentView_parent müsste da class KS_SpecialsMainContentView extends KS_SpecialsMainContentView_parent stehen, oder Du müsstest die Datei umbenennen da war ich zu langsam
In Kai's Fall, stimmt das nicht so ganz, Barbara. Kai hat da etwas durcheinander gebracht, aber den Fehler selber schon korrigiert!