MyBB.de Forum
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)

Seiten: Seiten: 1 2 3 4 5


Mein erstes Plugin - Probleme - Murphy - 18.05.2008

Hallo.

Ich versuche mich gerade an meinem ersten Plugin. Es ist nur etwas kleines, weil ich das ganze erstmal üben möchte.

Hier der Code:

PHP-Code:
<?php
/**
 * Copryright by Murphy 2008, All Rights Reserved
 */

 
$plugins->add_hook("portal_start""birthday_portal");

function 
birthday_portal_info()
{
    return array(
        
"name"        => "Birthday Portal",
        
"description"    => "Mit diesem Plugin wird eine Box im Portal hinzugefügt. In der Box werden die heutigen Geburtstage angezeigt.",
        
"website"    => "http://mybboard.de/",
        
"author"    => "Murphy",
        
"version"    => "1.0 Beta",
    );
}
 
// Plugin aktivieren
function birthday_portal_activate()
{
 
$boardmsg_template = array(
        
"title"        => 'portal_birthday',
        
"template"    => "<table border=\"0\" cellspacing=\"{\$theme[\'borderwidth\']}\" cellpadding=\"{\$theme[\'tablespace\']}\" class=\"tborder\">
<tr>
<td class=\"thead\"><strong>Test</strong></td>
</tr>
<tr>
<td class=\"trow1\">
1
</td>
</tr>
</table><br />"
,
        
"sid"        => -1,
        
"version"    => 120,
        
"status"    => '',
        
"dateline"    => 1134703642,
               );
}

 
// Plugin deaktivieren
function birthday_portal_deactivate()
{
}

?>

Es wird im Plugin-Manager kein Fehler ausgegeben, doch die Datei wird zum aktvieren nicht ausgewählt.

Dann habe ich noch 2 Fragen:

Wofür sind diese Dinge:

"sid" => -1,
"version" => 120,
"status" => '',
"dateline" => 1134703642,

Und, wie sollte ich das ganze beim deaktivieren machen?


RE: Mein erstes Plugin - Probleme - linwinman - 18.05.2008

Hallo Murphy,

siehe dir hierzu z. B. den Aufbau der Plugin-Datei > "Side Boxes! 2.0" an.

Wenn du nur eine Box anzeigen möchtest, kannst du die Funktion "sideboxes_activate()" entsprechend auf das Einfügen eines Templates (s. "$sideboxes_setting_5") "abspecken" - z. B. nur ein Template "birthday_portal".

Ich hoffe, dies hilft dir weiter.


RE: Mein erstes Plugin - Probleme - Michael - 18.05.2008

Murphy schrieb:Es wird im Plugin-Manager kein Fehler ausgegeben, doch die Datei wird zum aktvieren nicht ausgewählt.
Wird das Plugin nicht angezeigt? Heißt die Datei birthday_portal.php? Es kann auch ein Problem sein, dass die Hauptfunktion birthday_portal() nicht definiert ist.
Murphy schrieb:Wofür sind diese Dinge:

"sid" => -1,
"version" => 120,
"status" => '',
"dateline" => 1134703642,
sid = Set-ID des Templatesets. -1 steht für globale Templates.
version = Version des Templates (entsprechend der MyBB-Version)
status = Originaltemplate/Geändertes Template
dateline = Zeitpunkt
Murphy schrieb:Und, wie sollte ich das ganze beim deaktivieren machen?
Da musst du alle Änderungen rückgängig machen, d.h. Templates löschen usw. Schau dir dazu auch schon fertige Plugins an.


RE: Mein erstes Plugin - Probleme - Murphy - 18.05.2008

Michael schrieb:
Murphy schrieb:Es wird im Plugin-Manager kein Fehler ausgegeben, doch die Datei wird zum aktvieren nicht ausgewählt.
Wird das Plugin nicht angezeigt? Heißt die Datei birthday_portal.php? Es kann auch ein Problem sein, dass die Hauptfunktion birthday_portal() nicht definiert ist.


Ganz genau. Das Plugin wird im Plugin-Manager nicht angezeigt. Die Datei heißt genau so, Ja.


RE: Mein erstes Plugin - Probleme - Michael - 18.05.2008

Befindet sich im Ordner inc/plugins/ eine Datei, die kein Plugin ist?


RE: Mein erstes Plugin - Probleme - Murphy - 18.05.2008

Michael schrieb:Befindet sich im Ordner inc/plugins/ eine Datei, die kein Plugin ist?

Nur eine Html-Datei, damit dort niemand in dem Ordner rumschlummern kann. Also eine Automatische Weiterleitung.


RE: Mein erstes Plugin - Probleme - linwinman - 18.05.2008

Hallo Murphy,

vllt. hilft dir auch dieses Thema weiter: > "Wie ist ein Plugin aufgebaut?".


RE: Mein erstes Plugin - Probleme - Michael - 19.05.2008

Michael schrieb:Es kann auch ein Problem sein, dass die Hauptfunktion birthday_portal() nicht definiert ist.



RE: Mein erstes Plugin - Probleme - Murphy - 19.05.2008

Michael schrieb:
Michael schrieb:Es kann auch ein Problem sein, dass die Hauptfunktion birthday_portal() nicht definiert ist.

Das bedeutet?
Welche Funktion muss ich hinzufügen?
Im Eingans-Post ist der gesamte Code vorhanden.


RE: Mein erstes Plugin - Probleme - Dave - 19.05.2008

Mittels dir Zeile
PHP-Code:
$plugins->add_hook("portal_start""birthday_portal"); 
gibst du ja dem System an der Stelle portal_start die Funktion birthday_portal auszuführen. portal_start ist ein so genannter Hook und dient dazu Funktionen von Plugins an diversen Stellen in Code ausführen zu können, ohne den eigentliche Code bearbeiten zu müssen. Die funktion birthday_portal ist aber nicht definiert, daher kommt es da zu Problemen.

Mehr zum Plugin System und den Hooks von MyBB kannst du hier finden:
MyBB Wiki