MyBB.de Forum

Normale Version: Variablen des MyBBs
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo @ all,

ich wollte mal wissen, welche Variablen (z.B. $headerinclude) ich in Themes verwenden kann. Gibt es da vlt. eine Übersicht?

mfg
stalker.

// EDIT: konkret würde mich jetzt interessieren wie ich den Benutzername ausgebe, wenn der user eingeloggt ist.
$mybb->user['username']

Eine komplette Übersicht gibt es meines Wissens nicht. Du kannst immer nur die Variablen im Template verwenden, die auch in der Datei, die dieses Template aufruft, verwendet werden.
Die Variablen werden bei Bedarf erstellt. Somit kann man nicht überall alle verwenden. Schaue einfach in die PHP-Dateien.
Danke für eure Antworten.
PHP-Code:
<tr>
    <
td>Username:</td>
    <
td><input type="text" name="username" value="$mybb->user['username']" /></td>
</
tr
=> Ausgabe:
Array['username']
Um Variablen mussen geschweifte Klammern: {$mybb->user['username']}
Okay, danke Dragon.

//EDIT:

eine Frage hätte ich noch, wenn ich z.B. in der PHP Datei überprüfen möchte, ob die Daten (input Feld) gleich {$mybb->user['username']} sind, kann ich dann ganz einfach $mybb->user['username'] nutzen?
PHP-Code:
if ($_POST['username'] != $mybb->user['username']) {
die(); 

Und neue Variablen, die ich selber bestimme ($xyz) kann ich dann im Template mit {$xyz} ausgeben? Möchte nichts falsch machen^^

//EDIT2:

und noch ne Frage Wink
Wenn ich eine Language Datei erstellen möchte, wie müsste so eine aussehen.

mfg
Stalker.
|*Stalker*| schrieb:eine Frage hätte ich noch, wenn ich z.B. in der PHP Datei überprüfen möchte, ob die Daten (input Feld) gleich {$mybb->user['username']} sind, kann ich dann ganz einfach $mybb->user['username'] nutzen?
Ja, das ist möglich. Allerdings verstehe ich denn Sinn nicht. Warum soll der Benutzer seinen Namen eingeben, wenn diese schon in der Variablen $mybb->user['username'] vorhanden ist?
|*Stalker*| schrieb:Und neue Variablen, die ich selber bestimme ($xyz) kann ich dann im Template mit {$xyz} ausgeben? Möchte nichts falsch machen^^
Richtig. Die Variable muss in der entsprechenden PHP-Datei oder in einem Plugin definiert werden, BEVOR das Template geladen wird.
|*Stalker*| schrieb:Wenn ich eine Language Datei erstellen möchte, wie müsste so eine aussehen.
Schau dir einfach mal die Sprachdateien an. Im Grunde sind da nur die Strings enhalten:
PHP-Code:
$l['name'] = "Inhalt"
Über $lang->load("sprachdateiname") wird der Inhalt der Datei ausgelesen und über $lang->name kannst du dann den Inhalt der Variablen wieder abrufen.
Michael schrieb:Ja, das ist möglich. Allerdings verstehe ich denn Sinn nicht. Warum soll der Benutzer seinen Namen eingeben, wenn diese schon in der Variablen $mybb->user['username'] vorhanden ist?
Der Sinn ist, dass man ein Formular verändert schicken kann... Ist zwar in 99,99% der Fällen nicht so, aber sicher ist sicher Smile

Kann ich eigentlich im template eine PHP Funktion nutzen?
PHP-Code:
foreach($123 as $abc) {
echo 
"<li>".$abc."</li>";

Oder wo schreibe ich das sonst am besten hin? Wink
Nein, im Template kannst du nur HTML benutzen und Variablen einsetzen. Du kannst das Ergebnis der Schleife in einem Array speichern und den dann wieder im Template ausgeben.