Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Plugin mit Template
#1
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.
Zitieren
#2
Hast du konkrete Fragen?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
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
Zitieren
#4
Du brauchst keine Variable zu "übergeben", sie muss an der Stelle einfach nur definiert sind und steht dann auch im Template zur Verfügung.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
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'
???
Zitieren
#6
Kannst du doch? Wahrscheinlich hast du "global $test;" vergessen, damit die Variable global gültig ist.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
genau das wars :-)Vielen dank nochmal!
Zitieren