Mein erstes Plugin - Probleme - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Mein erstes Plugin - Probleme (/thread-9521.html) |
RE: Mein erstes Plugin - Probleme - linwinman - 20.05.2008 Murphy schrieb:Was muss ich einfügen, damit das Plugin auch geladen wird, und angezeigt wird?Es fehlt die Änderung des Templates in bzw. nach Zeile 23 - z. B.: PHP-Code: require "./inc/adminfunctions_templates.php"; Siehe dir für die Ausgabe von Geburtstagen auch einmal den Bereich PHP-Code: ... RE: Mein erstes Plugin - Probleme - Murphy - 21.05.2008 Mhh. Also mit Deiner genannten Änderung klappt das ganze nicht. Es wird in dem Template der Code nicht hinzugefügt. Es findet ein Fehler statt, und der gesamte Inhalt des Templates "Portal" wird gelöscht. Wie bildet man diesen Code denn? Vor welche Zeichen muss ich den Backslash setzen \ ? RE: Mein erstes Plugin - Probleme - linwinman - 21.05.2008 Hallo Murphy, Zitat:Es findet ein Fehler statt, und der gesamte Inhalt des Templates "Portal" wird gelöscht.Die Änderung stammt aus dem Tutorial und wurde nur angepasst. Welcher Fehlertext wird denn ausgegeben? Ersetze zunächst bitte PHP-Code: require "./inc/adminfunctions_templates.php"; PHP-Code: require MYBB_ROOT."/inc/adminfunctions_templates.php"; Zitat:Wie bildet man diesen Code denn?Gemeint sind die Zeilen 152-186 in der Datei "index.php": PHP-Code: // Build the birthdays for to show on the index page. Zitat:Vor welche Zeichen muss ich den Backslash setzen \ ?Den Backslash setzt du jeweils vor Zeichen, die in > "Regulären Ausdrücken" enthalten sein können. Siehe z. B. auch > "PHP für dich". RE: Mein erstes Plugin - Probleme - Murphy - 21.05.2008 Also soweit klappt alles. Das Template wird erstellt, und in dem Template "Portal" wird $portalbirthday hinzugefügt. Doch wenn ich nun die portal.php aufrufe, wird einfach nur eine Weiße Seite aufgerufen. Hier der momentane Code: PHP-Code: <?php RE: Mein erstes Plugin - Probleme - Dave - 21.05.2008 PHP-Code: //Plugin Code Hänge das vor ?> an die Datei ran. RE: Mein erstes Plugin - Probleme - Murphy - 21.05.2008 Nun wird mir folgender Fehler genannt: Fatal error: Call to a member function get() on a non-object in /usr/export/www/vhosts/funnetwork/hosting/board/inc/plugins/portalbirthday.php on line 62 RE: Mein erstes Plugin - Probleme - StefanT - 21.05.2008 Füge das vor der Zeile ein: PHP-Code: global $templates; RE: Mein erstes Plugin - Probleme - Murphy - 21.05.2008 Schuldigung, dass ich soviel Frage. Doch in Sachen Plugin bin ich auf dem Neugebiet. Sobald ich das erste Plugin richtig hinbekomme, stelle ich sicherlich auch nicht mehr soviele Fragen. Also die portal.php wird nun sauber angezeigt. Es wird ein Template erstellt, und im Template portal wird das neue Template difiniert. Doch leider wird die Box nicht angezeigt. Zudem erhalte ich beim Deaktivieren des Plugins diese Meldung: Warning: preg_replace() [function.preg-replace]: Unknown modifier '{' in /usr/export/www/vhosts/funnetwork/hosting/board/inc/adminfunctions_templates.php on line 30 Warning: preg_match() [function.preg-match]: Unknown modifier '{' in /usr/export/www/vhosts/funnetwork/hosting/board/inc/adminfunctions_templates.php on line 46 RE: Mein erstes Plugin - Probleme - linwinman - 21.05.2008 Zitat:Zudem erhalte ich beim Deaktivieren des Plugins diese Meldung:Ersetze PHP-Code: // Plugin deaktivieren PHP-Code: // Plugin deaktivieren Zitat:Doch leider wird die Box nicht angezeigt.Hast du eine/die Funktion "function portalbirthday()" definiert? Hat einer deiner User heute Geburtstag? linwinman schrieb:Gemeint sind die Zeilen 152-186 in der Datei "index.php": RE: Mein erstes Plugin - Probleme - Murphy - 21.05.2008 Die Funktion habe ich so definiert: PHP-Code: //Plugin Code Was auch noch ein Problem ist, dass der Code zwar in das Template "portal" hinzugefügt wird, doch wenn ich das Plugin deaktiviere, bleibt der Code enthalten. Beim aktivieren: PHP-Code: find_replace_templatesets("portal", '#'.preg_quote('{$stats}').'#', "{\$stats}\n{\$portalbirthday}"); Beim deaktivieren: PHP-Code: find_replace_templatesets("portal", "{\$stats}\n{\$portalbirthday}", '#'.preg_quote('{$stats}').'#'); |