MyBB.de Forum
Plugin mit Template - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: Plugin mit Template (/thread-24733.html)



Plugin mit Template - efrick - 23.01.2012

Hallo leute.
Ich bin ein Anfänger in der MyBB-Programmierung.
Habe ein Plug in gebaut der bei der Aktivierung das index-Template verändert und dort eine Variable {$meine_variable} einbaut:
Code:
function mein_plugin_activate()
{
    global $db;
    
    include MYBB_ROOT."/inc/adminfunctions_templates.php";
    
    find_replace_templatesets(
        "index",
        '#'.preg_quote('{$forums}').'#',
        '{$meine_variable}{$forums}'
    );
}
Wie kann ich jetzt an der Stelle {$meine_variable} ein eigenes Template einbinden? Das Template sollte Inhalt aus der Datenbank haben.
Welchen Hook muss ich dazu benutzen? Und was müsste ich dann tun?
Über Hilfe würde ich mich sehr freuen.
Danke im voraus.


RE: Plugin mit Template - StefanT - 23.01.2012

Hast du konkrete Fragen?


RE: Plugin mit Template - efrick - 23.01.2012

siehe oben.

habe meine Frage geändert.
Ich habe jetzt mit dem Befehl:
eval("\$test = \"".$templates->get("test_template")."\";");
Ein Template einbinden können.
Wie kann ich aber die Template-Variable an das Template übergeben?
Und wie kann das Template auf die Variable zugreifen?
Darüber habe ich nirgendwo etwas gefunden.
Bitte um Antwort.
Danke


RE: Plugin mit Template - StefanT - 23.01.2012

Du brauchst keine Variable zu "übergeben", sie muss an der Stelle einfach nur definiert sind und steht dann auch im Template zur Verfügung.


RE: Plugin mit Template - efrick - 23.01.2012

alles klar. danke
noch eine frage:
wieso kann ich das template in der index.php mit dem befehl:
eval("\$test = \"".$templates->get("test_template")."\";");
einbinden.
Aber nicht durch den hook 'index_start'
???


RE: Plugin mit Template - StefanT - 23.01.2012

Kannst du doch? Wahrscheinlich hast du "global $test;" vergessen, damit die Variable global gültig ist.


RE: Plugin mit Template - efrick - 23.01.2012

genau das wars :-)Vielen dank nochmal!