MyBB.de Forum

Normale Version: Eigene {$xxx} Variablen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,
wie kann ich in den Templates meine eigenen Variablen ({$xxx}) einfügen? Definiert sind sie vor dem templates->get("...").

Bimon
Du musst die Variable in der entsprechenden PHP-Datei definieren bevor das Template geladen wird, in der sie verwendet werden soll.
habe ich gemacht aber ausgegeben wird trotzdem nicht der inhalt von $xxx sondern {$xxx}.

Oder werden Templates schon vor dem templates->get() geladen?
Hier mal ein praktisches Beispiel: Du willst das Datum im header ausgeben. Dazu öffnest du die Datei global.php und suchst die Zeile, in der der header geladen wird:
PHP-Code:
eval("\$header = \"".$templates->get("header")."\";"); 
Irgendwo darüber fügst du ein:
PHP-Code:
$datum date("d.m.Y"); 
Danach kannst du die Variable {$datum} im Template verwenden. Wichtig ist, dass Variablen in Templates in geschweiften Klammern stehen.
komisch bei mir geht das irgendwie nie...ich probs nochmal
danke trotzdem Smile


Das is nich wahr........... jetzt gehts Big Grin

DANKE
Hallöle,

ich hab da auch noch mal ne Frage (ich mach das mal direkt an einem Beispiel klar):

Ich möchte gerne in meinem Willkommen-Panel den Username seperat anzeigen.
Also muss ich dafür die Variable irgendwo definieren und dazu die Daten aus der Datenbank auslesen (ganz nebenbei, ich bringe mir gerade php ein bisschen näher *g*).
Soweit so gut.
Ich nehme an, die Variable muss in der Datei global.php definiert werden?

Frage 1.) Wo genau?
Frage 2.) Wie genau?

zu 2.) ich habe mir das so gedacht:
PHP-Code:
$username $mybb->user['username']; 

Und dann kann ich im Template header_welcomeblock_member den Usernamen mit {$username} an einer beliebigen Stelle einfügen?
Ist das richtig, oder muss ich dabei noch was beachten?
Kann ich auf diese Weise sämtliche Daten wie User ID, Homepage, etc. abfragen?

Ich hoffe ich stelle mich nich zu blöd an und würde mich freuen wenn mir jemand helfen könnte Smile
Warum schreibst du nicht gleich ins Template $mybb->user['username']? Wink
Das Template "header_welcomeblock_member" wird der global.php in Zeile 258 aufgerufen. Variablen musst du davor definieren, um sie benutzen zu können. Praktisch wäre es, wenn du sie direkt davor einfügst.
Nach diesem Prinzip kannst du immer vorgehen. Wird das Template in einer anderen Datei aufgerufen, kannst du Variablen auch in dieser Datei definieren.
Also wenn ich direkt ins Template $mybb->user['username'] schreibe, dann komtm "Array['username]" als Ausgabe... WEnn ich es über die richtige Variable mache klappt alles wunderbar *g*
Ich bin grad ganz euphorisch dass alles so klappt wie ichs mir vorgestellt habe.

Danke für deine schnelle Antwort!
Aus Sicherheitsgründen solltest du
PHP-Code:
$username $mybb->user['username']; 
durch diese Zeile ersetzen:
PHP-Code:
$username htmlspecialchars_uni($mybb->user['username']); 
Eine Frage direkt dazu.
Wenn ich eine Variable in der global.php definiere, ist diese doch in allen Templates verfügbar oder? Die global.php wird überall eingebunden.
Klar darf die Variable später nicht überschrieben werden und so.
Seiten: 1 2 3