Hallo, Gast!
AnmeldenRegistrieren

Variablen des MyBBs
#1
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.
 
#2
$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.
 
#3
Die Variablen werden bei Bedarf erstellt. Somit kann man nicht überall alle verwenden. Schaue einfach in die PHP-Dateien.
 
#4
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']
 
#5
Um Variablen mussen geschweifte Klammern: {$mybb->user['username']}
 
#6
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.
 
#7
|*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.
 
#8
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
 
#9
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.