MyBB.de Forum
PHP in Templates - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: PHP in Templates (/thread-17210.html)

Seiten: Seiten: 1 2


RE: PHP in Templates - Michael - 30.10.2010

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.


RE: PHP in Templates - cRaZyYy - 30.10.2010

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


RE: PHP in Templates - Michael - 30.10.2010

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.


RE: PHP in Templates - cRaZyYy - 30.10.2010

(30.10.2010, 18: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?


RE: PHP in Templates - StefanT - 30.10.2010

Einfach reinschreiben {$variable}. Die muss allerdings vor dem Aufruf des Templates definiert werden.


RE: PHP in Templates - cRaZyYy - 30.10.2010

Es funktioniert.
Ich danke euch. :3


RE: PHP in Templates - cRaZyYy - 10.12.2010

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") >= || (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ß


RE: PHP in Templates - StefanT - 10.12.2010

Du kannst dir das ganze ob-Zeug sparen, wenn du kein echo benutzt. Du hast doch jetzt schon eine volle Variable?