Hi!
Ich arbeite gerade an einem Plugin, dass eine eigene Listen- und Detailansicht besitzen soll. Deren Einträge Besitzen auch jeweile ein Bild.
Ich habe in der Tabelle eine Spalte frames_image hinzugefügt und sofort war in der Detailansicht das Element um Bilder hinzuzufügen vorhanden. Super praktisch!!
Leider funktionierte dieses Element nicht und es hat mich einen ganzen Tag gekostet um es zum laufen zu bringen.
1. Im Veyton-Buch ist nur die Rede davon dass das Plugin funktionen wie _get, _set, _getParams usw. besitzen muss. Es gehört jedoch nicht zu meinem Programmierstil Klassenmember mit einem Unterstrich zu benennen, deshalb habe ich das auch nicht gemacht. Die MediaImages-Klasse(funktion:setMainFile) erstellt jedoch eine Instanz meiner Klasse und greift auf die Member _table, _master_key und _image_key zu. Es sollte unbedingt kommuniziert werden, dass diese Member Teil einer Interfacedefinition sind und nicht umbenannt werden dürfen bzw. vorhanden sein müssen.
2. Trotzdem hat mein Plugin noch nicht funktioniert. In der Zeile, in der die Instanz erzeugt erstellt wird, wurde die ausführung des PHP-Codes einfach beendet. Try-Catch hatte nicht gebracht. Keine Fehlermeldung, nichts. Nach zwei Stunden hatte ich die Idee, dass ich meine Klasse mit require_once in der Klasse MediaImages einbinde. Nun hat alles funktioniert.
Ich halte es für keine gute Vorgehensweise, eine Veytonklasse ändern zu müssen, damit ein Plugin funktioniert. Nach dem nächsten Veytonupdate wird das Plugin nicht mehr funktionieren. Gibt es eine Möglichkeit auf require_once verzichten zu können?
lg,
michael