Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


Benutzer, die gerade dieses Thema anschauen:
PHP in Templates
#11
Im Grunde fast genauso. Du musst die Variable, die du im Template benutzen willst, mit Inhalt füllen, bevor das Template geladen und die Variablen ersetzt werden.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#12
Also ich hab jetzt folgendes:

PHP-Code:
ob_start();

echo
'<table border="0" cellspacing="1" cellpadding="3" class="tborder"><tr>';

$first = $db->query("SELECT * FROM `".TABLE_PREFIX."gallery_pic` ORDER BY `ID_PICTURE` DESC LIMIT 3");

while(
$list = $db->fetch_array($first)) {

$thumb = $list['thumbfilename'];
$picid = $list['ID_PICTURE'];

echo
'<td rowspan="2" class="trow1" align="center" width="120"><a href="http://warriors.pytalhost.de/forum/ezgallery.php?action=view&id='.$picid.'"><img src="http://warriors.pytalhost.de/forum/gallery/'.$thumb.'" /></a></td>
<td class="trow2"><span class="smalltext">'
. my_date($mybb->settings['dateformat'],$list['date']) .'</span></td>';
}

echo
"</tr><tr>";

$first = $db->query("SELECT * FROM `".TABLE_PREFIX."gallery_pic` ORDER BY `ID_PICTURE` DESC LIMIT 3");

while(
$list = $db->fetch_array($first)) {
$id = $list['ID_MEMBER'];
$user = get_user($id);
$username = format_name($user['username'],$user['usergroup'],$user['displaygroup']);
echo
'<td class="trow1"><span class="smalltext">Von <a href="http://warriors.pytalhost.de/forum/member.php?action=profile&uid='.$id.'">'.$username.'</a></span></td>';
}

echo
"</tr></table>";

$new_pics = ob_get_contents();
ob_end_clean();

Fehlermeldung:

Fatal error: Call to a member function query() on a non-object in /forum/global.php on line 16
Zitieren
#13
Füge es über dieser Zeile ein:
PHP-Code:
// Load Main Templates and Cached Templates
Anstatt echo() zu benutzen, musst du dann natürlich wieder alles in eine Variable schreiben.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#14
(30.10.2010, 19:42)Michael schrieb: Füge es über dieser Zeile ein:
PHP-Code:
// Load Main Templates and Cached Templates
Anstatt echo() zu benutzen, musst du dann natürlich wieder alles in eine Variable schreiben.

Okay. Keine Fehlermeldung mehr..
Nur: Wie gebe ich die Variable anschließend im Template aus?
Zitieren
#15
Einfach reinschreiben {$variable}. Die muss allerdings vor dem Aufruf des Templates definiert werden.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#16
Es funktioniert.
Ich danke euch. :3
Zitieren
#17
Nochmal eine Frage hierzu.

Ich hab jetzt ähnliches wieder. Aber diesmal nach selben Schema und an selber Position im Code.

PHP-Code:
ob_start();
if((int)
date("n") == 12 && (int)date("d") >= 9 || (int)date("n") == 1) {
$anzahl = 0;
$uid = $mybb->user['uid'];
$present = $db->query("SELECT * FROM `".TABLE_PREFIX."geschenksys` WHERE gesuid='$uid' && looktime IS NULL");
while(
$list = $db->fetch_array($present)) {
$anzahl++;
}
if(
$anzahl > 0) {
$presentmeldung = '<div class="pm_alert" id="comment_notice">
<div>
<a href="Geschenk-System.php?show=1" title="Dein Tannenb&auml;umchen">Unter deinem Tannenb&auml;umchen liegen '
.$anzahl.' unge&ouml;ffnete(s) Geschenk(e)</a>
</div>
</div>'
;
}
}
$presents = ob_get_contents();
ob_end_clean();

Allerdings wird so nie etwas angezeigt... Und das liegt nicht an den Bedingungen.

Und im Template natürlich {$presents}.

Gruß
Zitieren
#18
Du kannst dir das ganze ob-Zeug sparen, wenn du kein echo benutzt. Du hast doch jetzt schon eine volle Variable?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren