Witam.
Chciałem Was się poradzić jak wprowadzić obsługę kodu php w plikach szablonów TPL. Oto moje pliki:
./includes/template.php
<?
class Template {
var $TplEx = 'tpl';
var $TemplateVars = array();
function AddBlock($Name, $Value) {
$this->TemplateVars[$Name] = $Value;
}
function Block($Name, $Value, $String) {
return str_replace('{' . $Name . '}', $Value, $String);
}
function Display($Page) {
foreach ($this->TemplateVars As $Name => $Value) {
$FHandle = $this->Block($Name, $Value, $FHandle);
}
return $FHandle;
}
}
?>
./includes/parse.php
<?
include (\"template.\" . $PhpEx);
include (\"languages/\" . $CurrentLanguage . \"/main.\" . $PhpEx);
$Tpl = new Template;
$Tpl->AddBlock('Global_CurrentTemplate' , $Language['Global']['CurrentTemplate']);
$Tpl->AddBlock('Global_RootPath' , $Language['Global']['RootPath']);
$Tpl->AddBlock('Global_IncludeModule' , $Language['Global']['IncludeModule']);
echo $Tpl->Display($RootPath . \"templates/\" . $CurrentTemplate . \"/overall_header\"); echo $Tpl->Display($RootPath . \"templates/\" . $CurrentTemplate . \"/index_body\"); echo $Tpl->Display($RootPath . \"templates/\" . $CurrentTemplate . \"/overall_footer\"); ?>
./languages/polish/main.php
<?
$Language['Global']['CurrentTemplate'] = $CurrentTemplate;
$Language['Global']['RootPath'] = $RootPath;
$Language['Global']['IncludeModule'] = @include(\"./a.php\");
?>
Od razu uprzedzam, że obciąłem kilkadziesiąt zmiennym w plikach: ./includes/parse.php i ./languages/polish/main.php. Bo po co zaśmiecać kod? Są przykłady.
To jest działający system szablonów. Tylko prosiłbym Was o pomoc jak zmodyfikować skrypt by obsługiwał kod php w plikach TPL.
Z góry dziękuje i serdecznie pozdrawiam!
Ten post edytował Jantar 18.01.2005, 16:40:03