Ich bin gerade auf ein ziemliches Problem gestoßen: Die diversen "xxxxxxxContentViews" überladen die Basis-"ContentView"-Klasse, z.B. PHP: class AdminInfoboxContentView extends ContentView Das Problem ist, dass diese abgeleiteten "xxxxxxxContentViews" aber nicht die Überladungen der Basis-"ContentView"-Klasse mit erben, sondern nur die Basis-"ContentView"-Klasse.... Wie kann man das denn lösen???
Ich denke so: In "system\gngp_layer_init.inc.php" wird PHP: require_once(DIR_FS_CATALOG.'system/views/ContentView.inc.php'); ersetzt durch PHP: MainFactory::create_object('ContentView'); (Damit wird die "ContentView"-Klasse inkl. aller Overloads instantiiert.) In "system\core\MainFactory.inc.php => public static function create_object" wird vor PHP: return $coo_output_object; eingefügt PHP: if ($p_class_name=='ContentView') { //class_alias($t_operation_class_name,'ContentViewFull',false); $t_eval_code="class ContentViewFull extends ".$t_operation_class_name.' {}'; $result=eval($t_eval_code); } (Damit wird die neue Klasse "ContentViewFull" erzeugt, die die "ContentView"-Klasse inkl. aller Overloads ist. Die diversen "xxxxxxxContentViews" müssten dann "ContentViewFull" beerben statt "ContentView"; Für die Beispiel-Klasse "AdminInfoboxContentView" wäre das dann PHP: class AdminInfoboxContentView extends ContentViewFull