digiTALE
Lt. Junior Grade
- Registriert
- Juli 2004
- Beiträge
- 270
Hallo,
über ein "Parser" lasse ich den Inhalt von der Datenbank in das Template einfügen.
Das Problem: Wie kann ich im Template selbst eine externe PHP-Datei "menue.php" (generiert das Menü) einbinden?
Im Template selbst kann ich kein PHP-Codes "<?php include_once "menue.php"; ?> einfügen, ohne das der Code ignoriert und sichtbar wird.
Also wie kann ich eine externe Datei an einer beliebigen Stelle im Template einbinden?
index.php
parser.php
template.php
Danke im vorraus.
über ein "Parser" lasse ich den Inhalt von der Datenbank in das Template einfügen.
Das Problem: Wie kann ich im Template selbst eine externe PHP-Datei "menue.php" (generiert das Menü) einbinden?
Im Template selbst kann ich kein PHP-Codes "<?php include_once "menue.php"; ?> einfügen, ohne das der Code ignoriert und sichtbar wird.
Also wie kann ich eine externe Datei an einer beliebigen Stelle im Template einbinden?
index.php
PHP:
[...]
include_once "parser.php";
$var_array = array(
"CMX_HEADLINE" => "Ueberschrift",
"CMX_CONTENT" => "Sehr viel Inhalt",
"CMX_DESCRIPTION" => "kurze Beschreibung",
"CMX_KEYWORDS" => "einige Schluesselwoerter",
"CMX_MENUE" => require_once "menue.php" <-- Wie am besten integrieren?
);
$template = "template.php";
$tpl = new parser($template, $var_array);
[...]
parser.php
PHP:
Class parser {
var $template;
var $temp_content;
function parser($template, $var_array)
{
$this->template = $template;
$this->temp_content = file($this->template);
$parsed = $this->rplc($var_array);
echo(implode("", $this->temp_content));
}
function rplc($var_array)
{
foreach($var_array as $key => $value)
{
$regex['var_name'] = "#{[[:space:]]*?(".strtoupper($key)."){1,}?[[:space:]]*?}#si";
$this->temp_content = preg_replace($regex['var_name'], $value, $this->temp_content);
}
}
}
template.php
HTML:
[...]
<div id="menue">
<ul>{CMX_MENUE}</ul> <-- hier soll die menue.php eingebunden werden
</div>
[...]
Danke im vorraus.