Hallo ihr
Ich hätte da gerne mal ein Problem, nee besser ich habs ja schon
Zur Erklärung:
weil ich es satt hatte, jeden hack in jedes template einzubauen, wo sich doch die dateien bei den einzelnen tamplates oft nicht unterscheiden, hab ich mir gedahct, ich führe ein neues, globales template ein. jedesmal wenn ich einen hack einbaue, schaue ich, welche dateien benötigt werden. wenn diese datei grösstenteils identisch ist mit der entspprechenden datei aus dem globalen template, lösche ich die datei aus dem template.
in der template.php habe ich die funktion make filename so umgeschrieben, dass sie in diesem fall die datei aus dem globalen template benutzt.
Listing:
function make_filename($filename)
{
$fname = $filename;
// Check if it's an absolute or relative path.
if (substr($filename, 0, 1) != '/')
{
$fname = phpbb_realpath($this->root . '/' . $filename);
}
if (!file_exists($fname))
{
$unreal = $phpbb_root_path . 'global_template/' . $filename;
$fname = phpbb_realpath($unreal);
if (!file_exists($fname))
{
die("Template->make_filename(): Error - file '$unreal'/'$fname' does not exist");
}
}
return $fname;
}
das funktioniert auch super.
wenn ich allerdings diese prozedur mit einer datei aus dem admin ordner eines templates mache, bekomme ich die fheler meldung, die Datei würde nicht existieren. Hier die Fehlermeldung für groupedit_body:
Template->make_filename(): Error - file 'global_template/admin/group_edit_body.tpl'/'' does not exist
DIE FRAGE IST: WIE KANN ICH DAS UMGEHEN?
scheinbar also zerstört die phpbb_realpath die pfadangabe.
das globale tmeplate liegt direkt im php root verzeichniss, also board_root/global_template