[Plugin] Trotz "global" Variable leer? - 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: [Plugin] Trotz "global" Variable leer? (/thread-11171.html) |
[Plugin] Trotz "global" Variable leer? - Zwoetzen - 05.10.2008 Hi alle zusammen [MyBB 1.4.2] Ich arbeite gerade mit jemanden zusammen an einem Plugin, dass gewisse MyCodes für die schnelle Verlinkung zu einigen Seiten für ein Spiel (TrackMania) bereit stellen soll. Da die URLs dieser Seiten sich ändern können, wollten wir diese in einem globalen Array zusammenfassen, so dass das Ändern nur an einer Stelle geschehen muss. Das Problem: Trotz dem "global" in den Funktionen parse_tm_codes() und show_dynamic_tm_help() wird das Array $tm_url nicht erkannt. Die (testweise eingefügten) Ausgaben sind leer. (Siehe unten) Die Frage logischerweise: Was machen wir falsch? ^^ Codeausschnitt: PHP-Code: /* Es wurden noch weitere Hooks festgelegt, die hier aber nicht relevant sind */ RE: [Plugin] Trotz "global" Variable leer? - Garlant - 05.10.2008 Hallo Zwoetzen, wenn ich das richtig sehe, wird das array im Plugin selbst definiert, richtig? Die Funktionen werden aber an anderer Stelle aufgerufen. Versuche bitte folgendes: Füge in der Plugindatei einen weiteren Hookaufruf ein. PHP-Code: $plugins->add_hook("misc_start", "parse_array"); Mfg Garlant RE: [Plugin] Trotz "global" Variable leer? - Zwoetzen - 05.10.2008 Danke für die Antwort, Garlant. Habe es leicht anders gelöst: Anstatt "blind" jedes mal das Array anzulegen, rufe ich die angelegte Funktion "zu Fuß" in den betreffenden Funktionen auf, sodass das Array nur angelegt wird, wenn es auch wirklich gebraucht wird Aber danke für den Ansatz, der war genau richtig PHP-Code: /* Set the URLS of the linked pages */ RE: [Plugin] Trotz "global" Variable leer? - Garlant - 05.10.2008 alternativ, kannst du es wie folgt machen (habe gerade ein enig herum gespielt) PHP-Code: $plugins->add_hook("misc_start", "parse2_array"); In show_dynamic_tm_help musst du nun noch die Abfrage hinzufügen: PHP-Code: if($mybb->input['action'] == 'help') { So funktioniert es dann. Wieso du dich in den hook der help nicht einhaken kannst, kann ich gerade nicht sagen. Ich kann aber noch ein wenig schauen. Mfg Garlant |