A
andyK
Hallo,
Problem:
Ich habe eine Textdatei, in der steht folgendes:
<< Beschribung: ID - Rang - Position ob links oder rechts - Tpl - Titel - Inhalt >>
<< Trennzeichen: ]-[ >>
--------------------------------------------
]-[1]-[1]-[l]-[menu.tpl.html]-[Navigation]-[ ]-[
]-[2]-[1]-[r]-[stat.tpl.html]-[Statistik]-[<td class="menbg" align="left">{datum}<br>{uhrzeit}<br>{online}<br>{heute}<br>{gestern}<br>{gesamt}</td>]-[
---------------------------------------------
Dann habe ich diese beiden Funktionen:
Nun habe ich noch eine Funktion:
Mit der letzten Funktion wird die Textdatei ausgelesen und die Werte werden zugewiesen.
Nun ist es aber so, dass ich über das admin-Menü die Positionen der einzelnen Boxen bestimmen will. Also entweder links oder rechts vom Inhalt.
Dieser Wert (l oder r) steht auch in der Textdatei.
Wie erreiche ich das nun mit meiner Funktion, dass diese den Wert der Position ausliest und dann dementsprechend die Platzhalter in meiner index.html füllt?
Momentan geht das über diese Funktion:
Den Platzhaltern "left_boxes" und "right_boxes" sollen nun den entsprechenden Boxen zugewiesen werden.
Es funktioniert auch soweit, aber auf beiden Seiten werden alle meine Boxen (also doppelt) angezeigt. Irgendwie klappt das nicht mit dem l oder r.
Habt ihr da einen Vorschlag, vielleicht mit irgendwelchen Schleifen oder so?
EDIT: Die Funktion gibt garnix aus. Die Platzhalter {titel} und {inhalt} bleiben leer. Ich versteh das nich..
Problem:
Ich habe eine Textdatei, in der steht folgendes:
<< Beschribung: ID - Rang - Position ob links oder rechts - Tpl - Titel - Inhalt >>
<< Trennzeichen: ]-[ >>
--------------------------------------------
]-[1]-[1]-[l]-[menu.tpl.html]-[Navigation]-[ ]-[
]-[2]-[1]-[r]-[stat.tpl.html]-[Statistik]-[<td class="menbg" align="left">{datum}<br>{uhrzeit}<br>{online}<br>{heute}<br>{gestern}<br>{gesamt}</td>]-[
---------------------------------------------
Dann habe ich diese beiden Funktionen:
PHP:
<?php
//Funktion, um Templates zu laden
function tplload($file)
{
// öffnet Datei und weißt den Inhalt später einer Datei zu
global $conf;
if($fp = @fopen("themes/standard/tpl/".$file, "r"))
{
$tpl = fread($fp, filesize("themes/standard/tpl/".$file));
fclose ($fp);
}
else $tpl = "Template konnte nicht geöffnet werden (themes/standard/tpl/$file)";
return $tpl;
}
//Funktion, um Tamplates anzuzeigen
function tplprint($tpl, $repla)
{
foreach($repla as $key=>$elem)
{
$tpl = str_replace("{".$key."}", $elem, $tpl);
}
return $tpl;
}
?>
Nun habe ich noch eine Funktion:
PHP:
function boxes($lor)
{
global $conf;
$filename="datenbanken/boxes.csv";
$data = file($filename);
for($i=0; $i<count($data); $i++)
{
$dataf = explode("]-[", $data[$i]);
$tpl = tplload("boxes/".$dataf[4]);
$boxes .= tplprint($tpl, array(
"TITEL" => "dataf[5]",
"INHALT" => "dataf[6]"));
}
$lor = $dataf[3];
return $boxes;
}
Mit der letzten Funktion wird die Textdatei ausgelesen und die Werte werden zugewiesen.
Nun ist es aber so, dass ich über das admin-Menü die Positionen der einzelnen Boxen bestimmen will. Also entweder links oder rechts vom Inhalt.
Dieser Wert (l oder r) steht auch in der Textdatei.
Wie erreiche ich das nun mit meiner Funktion, dass diese den Wert der Position ausliest und dann dementsprechend die Platzhalter in meiner index.html füllt?
Momentan geht das über diese Funktion:
PHP:
function finalize()
{
global $conf, $datum, $uhrzeit, $online, $heute, $gestern, $gesamt, $copyright, $pagename;
$tpl = tplload($this->stpl."/index.tpl.html");
echo tplprint($tpl, array_merge(array(
"copyright" => $copyright,
"pagename" => $pagename,
"left_boxes" => $this->boxes("l"),
"right_boxes" => $this->boxes("r"),
"datum" => "Datum: $datum",
"uhrzeit" => "Zeit: $uhrzeit",
"online" => "Online: $online",
"heute" => "Heute: $heute",
"gestern" => "Gestern: $gestern",
"gesamt" => "Gesamt: $gesamt")) );
exit;
}
Den Platzhaltern "left_boxes" und "right_boxes" sollen nun den entsprechenden Boxen zugewiesen werden.
Es funktioniert auch soweit, aber auf beiden Seiten werden alle meine Boxen (also doppelt) angezeigt. Irgendwie klappt das nicht mit dem l oder r.
Habt ihr da einen Vorschlag, vielleicht mit irgendwelchen Schleifen oder so?
EDIT: Die Funktion gibt garnix aus. Die Platzhalter {titel} und {inhalt} bleiben leer. Ich versteh das nich..
Zuletzt bearbeitet von einem Moderator: