Hallo, ich hab einen Overload erstellt, nur leider funktioniert dieser nicht. Ich nutze externe Bilder und muss deshalb die Pfadangaben zu den Bildern entfernen. Schreibe ich es direkt hinein geht alles. Hab auch den gesamten Cache geleert. Wo liegt der Fehler? Overload liegt unter : GXUserComponents/overloads/product Name ist: ProductOverload.inc.php Überladen wird: includes\classes\product.php Code: <?php class ProductOverload extends ProductOverload_parent { function productImage($name, $type) { parent::productImage($name, $type); // prepare overloading process... switch($type) { case 'info' : $path = DIR_WS_INFO_IMAGES; break; case 'thumbnail' : $path = DIR_WS_THUMBNAIL_IMAGES; break; case 'popup' : $path = DIR_WS_POPUP_IMAGES; break; } if($name == '') { if($this->useStandardImage == 'true' && $this->standardImage != '') { return $this->standardImage; } } else { // check if image exists if(!file_exists($path . $name)) { if($this->useStandardImage == 'true' && $this->standardImage != '') { $name = $this->standardImage; } } return $name; } }// end of function }// end class
Ich denke du müsstest die Konstanten deinem Wunsch nach anpassen, die für $path gesetzt werden. Solange du die Konstanten beibehältst, verweisen diese auf einen Pfad der irgendwo im Root Verzeichnis des Shops liegt. Ändere in der Fallunterscheidung für Bildtypen den Pfad auf deine externe Bilder ab. Wird extern "https" verwendet, setzte den Pfad auf z.B. "https://extern.de/mein/pfad/zu/externen/verzeichnis/wo/die/bilder/abgelegt/sind/" Ich würde in dem externen Verzeichnis auch jeweils separate Ordner anlegen für die einzelnen Bildtypen z.B. "popup" und die Bilder in der entsprechenden Skalierung ablegen.
Da wurde ich missverstanden. Ich hab die Bilder nicht in einem externen Ordner sondern jedes Bild hat einen eigenen Link (was der Name ist). Wie gesagt wenn ich das in die entsprechenden Datein direkt hineinschreibe geht es auch. Nur der Overload geht nicht. Bitte nicht so auf den Inhalt des Overload konzentrieren, denn der ist total nebensächlich. Mir geht es um den Overload an sich. Ist da was falsch?
Ich kann mich irren, aber eine "ProductOverload" - Datei habe ich noch nicht gesehen. Angenommen Du möchtest die Datei product.inc.php überladen, dann erstellst Du im Verzeichnis GXUserComponnts/ overloads/ einen neuen Ordner "product" und darin eine Datei z.B. mit dem Namen bilder_product.inc.php. dann wäre die Zeile class bilder_product extends bilder_product_parent
@(Link nur für registrierte Nutzer sichtbar.) da du bei uns wegen einem anderen Problem noch ein Ticket offen hattest haben wir dein Overload auch mal kurz auf dem Server angesehen. Der Overload ist technisch in Ordnung gewesen aber deine Konfigurationsdateien waren fehlerhaft, weshalb der Overload erst gar nicht geladen wurde. Zusätzlich haben wir noch einen Fehler in der Datei GXUserComponents/overloads/product/ProductOverloadThumbnail.inc.php gefunden und korrigieren können. Hier waren an der falschen Stelle geschweifte Klammern gesetzt. Wir konnten dies aber alles korrigieren, sodass die Dateien nun ohne Fehler geladen werden.