Beiträge: 103
Themen: 24
Registriert seit: 27.02.2008
MyBB-Version: 1.4*
Guten Abend,
was mir am MyBB besonders gut gefällt, ist das Template System.
Für ein Projekt ohne MyBB Anbindung, hätte ich allerdings auch gerne so ein Templatesystem. Allerdings komm ich da nicht ganz weiter und würd mich über Hilfe eurerseits freuen.
Hier sind mal die Funktionen, die ich bisher habe:
PHP-Code:
function get_template($template)
{
$pfad = 'templates/';
$endung = '.tpl';
$f = file_get_contents($pfad.$template.$endung);
$f = str_replace('"','\"',$f);
}
function insert($template)
{
echo $template;
}
Beim aufrufen hakts dann bei mir (also eval() ):
PHP-Code:
$template = eval (get_template('header'));
insert($template);[/php]
Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten.
Beiträge: 71
Themen: 7
Registriert seit: 02.03.2008
MyBB-Version: 1.6
24.01.2009, 03:19
(Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2009, 03:20 von sevildevil.)
Hi,
mit eval kannst du nicht auf die Variable $f aus der Funktion get_template() zurückgreifen. Versuche es mal lieber mit einem return-Wert:
PHP-Code:
<?php
function get_template($template){
$pfad = 'templates/';
$endung = '.tpl';
$f = file_get_contents($pfad.$template.$endung);
$f = str_replace('"','\"',$f);
return $f;
}
function insert($template)
{
echo $template;
}
insert(get_template('header'));
?>
Viel Spaß dann noch mit deinem Templatesystem
Sevil
Beiträge: 25.764
Themen: 269
Registriert seit: 20.09.2005
Du musst die eval-Zeile schon so machen, wie beim MyBB. Sonst geht es nicht.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 71
Themen: 7
Registriert seit: 02.03.2008
MyBB-Version: 1.6
(24.01.2009, 13:48)Dragon schrieb: Du musst die eval-Zeile schon so machen, wie beim MyBB. Sonst geht es nicht.
Er will ja nur ein Templatesystem ähnlich dem vom MyBB aufbauen, nicht das ganze nachbauen (ansonsten wär der Ansatz mit den Templates auch schon falsch).
Frage an dich: warum sollte es nicht funktionieren? Ich habe mein Skript die Nacht getestet
LG,
Sevil
Beiträge: 25.764
Themen: 269
Registriert seit: 20.09.2005
Wie lautet denn jetzt der gesamte Code?
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 103
Themen: 24
Registriert seit: 27.02.2008
MyBB-Version: 1.4*
Also mein Code lautet:
PHP-Code:
function get_template($template)
{
$pfad = 'templates/';
$endung = '.tpl';
$f = file_get_contents($pfad.$template.$endung);
$f = str_replace('"','\"',$f);
return $f;
}
function insert($template)
{
echo $template;
}
eval($template .= get_template('header'););
insert_template($template);
Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten.
Beiträge: 25.764
Themen: 269
Registriert seit: 20.09.2005
So macht es schon eher Sinn.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.