Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Templates - wstawianie PHP Problem :/
Forum PHP.pl > Forum > Przedszkole
Anonymous
Witam, jestem początkujący i mam taki problem :/. Otóż mam system template'ów i chcę zaincludować plik - poniżej wszystko dokładniej wyjaśniam:

Plik: index.php
[php:1:213e67a806]<?

include "tpl/template.inc.php";

$tpl = new Template("tpl/index.tpl");
$tpl->add("srodek", "tutaj_chcę_wstawić_funkcję_include");
echo $tpl->execute();

?>[/php:1:213e67a806]

Plik: tpl/index.tpl

[xml:1:213e67a806]

<html>

<head>
<meta http-equiv="Content-Language" content="pl">

<title></title>
</style>
</head>
<body>
{srodek} <-- chce zeby kod z pola srodek wykonał sie w tym miejscu
</body>
</html>[/xml:1:213e67a806]

Plik: tpl/template.inc.php
[php:1:213e67a806]<?

class Template {
var $tpl;
var $dane;

function Template ($name)
{
$this->tpl = implode('', file($name));
$this->dane = Array();
}

function add($name, $value = '')
{
if (is_array($name)) {
$this->dane = array_merge($this->dane, $name);
} else if (!empty($value)) {
$this->dane[$name] = $value;
}
}

function execute() {
return preg_replace('/{([^}]+)}/e', '$this->dane["1"]',
$this->tpl);
}

}
?>[/php:1:213e67a806]

Jeśli ktoś wie o co mi chodzi i wie jak tam wcisnąć php bardzo proszę o odpowiedź sad.gif



[b]----
[ZMODEROWANO]
wassago: prosze uzywac odpowiednich znacznikow phpBB !! do oznaczania tresci HTML (xHTML), sluzy znacznik [XML]
BzikOS
Rozumiem, że chcesz podstawić pod {srodek} zawartość jakiegoś pliku?
Musisz w takim razie wczytać ten plik do zmiennej i ją przekazać do tego "systemu szablonów".

[php:1:99ea754ed7]<?php
$srodek = implode('', file('srodek.tpl'));
// ...
$tpl->add("srodek", $srodek);
?>[/php:1:99ea754ed7]

Proponuję zainteresować się bardzej rozbudowanymi systemami szablonów, bo to co przedstawiłeś trudno w ogóle nazwać szablonami smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.