Open mbodon opened 9 years ago
Hallo, bei dir funktioniert die "__autoload" Funktion nicht. Daher vermute ich, dass du eine ältere PHP Version verwendest. siehe http://php.net/manual/en/language.oop5.autoload.php
Was du machen kannst ist, folgenden Code oberst oben einfügen und das Array "$classes" um die Klassen die verwendet werden zu erweitern:
$classes = array('rex_square_shop_utils', ...);
foreach($classes as $class_name){
if (!class_exists($class_name)) {
$classes_folder = $REX['INCLUDE_PATH'] . '/addons/square_shop/classes/';
$file = $classes_folder.''.$class_name.'.php';
if(file_exists($file)) {
require_once $file;
}
$sub_folders = array('model', 'view', 'controller', 'helper');
foreach($sub_folders as $folder){
$file = $classes_folder.''.$folder.'/'.''.$class_name.'.php';
if(file_exists($file)) {
require_once $file;
}
}
}
}
Gruss
Hi! Bin schon gespannt auf das Addon :) Zu dem Thema: Ab welcher Version ist das Addon denn? Ich nutze 5.4.7 und habe das gleiche Prob. Es wäre vielleicht sinnvoll in die Readme ein Hinweis zur min PHP Version aufzunehmen, evtl. auch einen Check beim installieren, sonst werden da noch viele drüber stolpern. Noch besser wäre es natürlich wenn das Addon PHP 5.3 unterstützt weil REDAXO 4 halt auch mit 5.3 läuft.
Hallo, danke für den Code. Ich muss gleich weg und kann deshalb den Code nicht jetzt gleich ausprobieren erst abends, aber meine (nun upgedatete) PHP Version ist 5.6 und Redaxo 4.6.1 und der Fehler erscheint leider immer noch ...
Moin, __autoload() kann nur einmal eingebunden werden. Wenn ein anderes Addon auch eine Autoload-Funktion nutzt, funktioniert es nicht mehr. Daher ist es besser, den Autoloader über spl_autoload_register() zu registrieren, dann können mehrere Autoloader hintereinander durchlaufen werden. Hat bei mir beim Testen funktioniert. config.inc.php sähe dann ungefähr so aus:
<?php
spl_autoload_register ('squareshop_autoload');
[...]
/*
* Klassen, welche benötigt werden automatisch eingebunden.
* param string $class_name: Klassenname
*/
function squareshop_autoload($class_name) {
[...]
}
?>
Hallo, habe nun den Vorschlag von DanielWeitenauer ausprobiert und es hat sofort geklappt. Also lag es wohl bei mir daran das ein anderes AddOn auch schon _autoload verwendet hat ... Danke an alle für den Tipp. Werde nun den Shop mal ausprobieren ... bin schon ganz gespannt...
@DanielWeitenauer
Vielen Dank, war mir nicht sicher ob mit dieser Lösung das Problem behoben werden könnte. Auf jedenfall, hab ich den "rc1" Branch so angepasst gehabt. Da sind noch einige bug fixes und Kommentare hinzugefügt worden, deshalb werde ich den master-branch mit rc1 ersetzen.
@RexDude Hi, theoretisch sollte dieses Addon mit PHP 5.3 auch laufen, ich wollte da bewusst keine PHP Version aufzählen, sondern nur die Redaxo Version. Die Fehlermeldung mit dem "autoload" hat mich etwas verwirrt, konnte den Fehler auch nicht reproduzieren. Aber jetzt ist mir alles klar :-)
@mbodon Hallo, freut mich, dass du mein Addon ausprobieren möchtest. Es befindet sich noch in der Entwicklungsphase und könnte noch Fehler enthalten.
Super, dass man jetzt eine Ausgabe hat. Ich habe aber die Meldung
Strict Standards: Non-static method SSHelper::array_keys_exists() should not be called statically, assuming $this from incompatible context in /kunden/133927_20146/2015/redaxo/include/addons/square_shop/classes/model/SSModel.php on line 100
Sowohl im Backend als auch Frontend.
REDAXO: 4.6.1 PHP: 5.4.16
Hallo zusammen, ich würde auch gerne testen ... kann jemand die geänderte config.inc.php mal in Langversion publizieren? Hab die Änderungen probiert ... Wäre toll. Oder geht es hier nicht weiter? Bleibe an der Installation stecken: Redaxo 4.5.0, 5.3.26
Meine Fehlermeldung: Warning: require_once(../redaxo/include/addons/square_shop/classes/class.SSDBSchema.inc.php) [function.require-once]: failed to open stream: Datei oder Verzeichnis nicht gefunden in ../redaxo/include/addons/square_shop/install.inc.php on line 7
Hallo dieDu
Ich würde dir die 'rc1' Version empfehlen: https://github.com/last-hero/square_shop/tree/rc1
Da wurden einige Fehler behoben.
Danke last-hero, das hat geklappt
Hallo last-hero
ich wollte soeben dieses AddOn testen, erhalte aber bei der Installation folgende Fehlermeldung: Fatal error: Class 'SSDBSQL' not found in pfad/httpdocs/2015/redaxo/include/addons/square_shop-master/install.inc.php on line 26
REDAXO: 4.6.1 PHP: 5.3.27 MySQL: 5.5.33
Eine Idee woran das liegen könnte?
Hallo Fanello
Bitte die Version "rc1" herunterladen, da sind einige Fehler behoben. https://github.com/last-hero/square_shop/tree/rc1
ja genau.. hatte es übersehen dass es nicht die rc1-Version war. Habe aber leider immer noch den selben Fehler: Fatal error: Class 'SSDBSQL' not found in pfad/httpdocs/2015/redaxo/include/addons/square_shop-rc1/install.inc.php on line 20
der Addon-Ordner muss "square_shop" heissen
Wow.. das wars... DANKE!
Hallo, ich bekomme beim Installieren der neuesten GitHub Version folgenden Fehler angezeigt:
Fatal error: Class 'rex_square_shop_utils' not found in ... /redaxo/include/addons/square_shop/config.inc.php on line 44
Was mache ich falsch? verträgt es sich mit einem anderen AddOn nich oder fehlt ein AddOn? Beste Grüße