hibbert hat geschrieben:in der overall_header.tpl soll an einer bestimmten stelle die shoutbox.tpl eingebunden werden. Dann ist dies nun mein neues ziel, da .php Dateien nicht übersetzt werden.
Also das reine einbinden der Datei geht wie schon erklärt ganz einfach:
page_header.php
suche
davor einfügen
Code: Alles auswählen
$template->set_filenames(array('shoutbox' => 'shoutbox.tpl'));
$template->assign_var_from_handle('SHOUTBOX', 'shoutbox');
Und dann könntest du in der overall_header.tpl {SHOUTBOX} verwenden, um an der entsprechenden Stelle den Inhalt der shoutbox.tpl anzuzeigen.
(siehe dazu: KB:template_syntax)
Das hat so aber gar kein Sinn, denn die Platzhalter/Template-Variablen in der shoutbox.tpl würden gar nicht ersetzt, nein, diese würden sogar entfernt und nur der reine HTML-Code aus der shoutbox.tpl würde ausgegeben. Du musst also die Platzhalter noch durch den entsprechenden Inhalt ersetzten, sprich die shoutbox.tpl ordentlich parsen. Das könntest du der Übersicht in der page_header.php wegen einfach in einer Funktion machen, die du selbst z.B. in der functions.php definierst:
Code: Alles auswählen
function shoutbox()
{
global $db, $template, $userdata, $lang, $phpEx /*, noch mehr Variablen die benötigt werden*/;
// ganz viel Code
// noch mehr Code
// Datenbankabfragen und deren Verarbeitung
// immernoch ganz viel Code
$template->set_filenames(array(
'shoutbox' => 'shoutbox.tpl')
);
$template->assign_vars(array(
'L_PLATZHALTER' => $lang['blub'],
// usw.
// usw.
'U_LINK' => append_sid('datei.' . $phpEx)
);
$template->assign_var_from_handle('SHOUTBOX', 'shoutbox');
}
Und dann in der page_header.php anstatt
Code: Alles auswählen
$template->set_filenames(array('shoutbox' => 'shoutbox.tpl'));
$template->assign_var_from_handle('SHOUTBOX', 'shoutbox');
einfach nur
schreiben.
Also Beispiel kannst du dir mal die Funktion
make_jumpbox in der functions.php anschauen.
Du siehst, das Ganze ist schon etwas kompliziert, aber wenn du das so machen willst, würd ich dir dabei helfen.