Seite 1 von 1

Template problem mit if bedingung

Verfasst: 09.07.2008 08:01
von suerte
Hallo,

und zwar habe ich folgendes problem.
ich habe eine:

datei template.php -> diese beinhaltet den kompletten grundriss. nur in der mitte wo der content reinsoll habe ich eine
<div id="content"><?=$content?></div>
variable angelegt.

außer dem habe ich eine:

datei index.php -> diese beinhaltet libery datein also variablen bezeichnungen und inhalt der variablen. Aber dort wird auch der $content teil ferstgelegt.
Wenn man nun die index.php aufruft, läd die alle include datein, setzt die $content variable und ruft das template auf und gibt den ganzen schmarn aus.

wenn ich nun z.B. $content = "Hallo"; setze und index.php aufrufe gibt es kein problem. Funktioniert alles einwandfrei.

nur möchte ich ja auch dynamisch was machen und würde daher z.B. auf mit for oder if arbeiten.

Z.B. if(isset($bla){
for(i=0;i<blubb;i++){
<div>
".$blubb." .....

sprich ich lese etwas aus der datenbank aus und habe mehrere teile die ich mit einem if zuerst abchecken möchte und dann mit einem for zusammen setzen möchte.

Wenn ich nun aber $content = ' if( ....'; setze, sagt der unbekanntes if oder if darf da net stehen ....

wie macht man so etwas? können ja auch 10 einträge sein oder auch nur 2. also kann ich ja net einfach 2 content erstellen und ausgeben lassen weil es ja ne dynamische zahl ist. kann man nicht in ner variable nen if teil deklarieren, den mit auf das template nehmen und dort erst ausführen lassen? weil die variablen sind ja immer noch vorhanden ? bitte helft mir

Verfasst: 09.07.2008 12:01
von Jan500
hi

wenn ich es richtig versthe was du meinstz, brauchst du evtl die funktion [PHP:eval] ...

aber wieso nutzt du nicht einfach vorhandene template sytseme wie smarty oder das von phpbb?

Jan

Verfasst: 09.07.2008 13:49
von suerte
aus dem grund, das ich es so viel übersichlicher habe, ich weiß was das ding kann und ich nicht als nachlesen muss. und wenn sich das problem mit der ausgabe erledigt hat, dann ist alles wunderbar.
und alles viel schneller