Hi,
ein bissl wenig imformation die du uns da bietest.
Wir müsste schon wissen welche Template Engine du benützt/benützen willst (Smarty, Phattemplate, Fasttemplate) ...
beschreib mal ein wenig.
Grüße
Alex
Hallo liebe TP Freunde,
Ich will mein Webprojekt komplett auf Templates umstellen.
Leider stosse ich schon bei einfachen Sachen auf Probleme.
zb werden hier alle id's ausgegeben
Wie kann ich dieses Codestück von php und html trennen?Code:while($row = mysql_fetch_assoc($result)) { echo" <tr>\n"; echo" <td class=\"TableRow\">".$row['id']."</td>\n"; echo" </tr>\n"; }
Ich freue mich über eure Antworten
MfG
Hi,
ein bissl wenig imformation die du uns da bietest.
Wir müsste schon wissen welche Template Engine du benützt/benützen willst (Smarty, Phattemplate, Fasttemplate) ...
beschreib mal ein wenig.
Grüße
Alex
hi,
Ich habe mir vorgestellt dass ich Smarty verwende. Dort habe ich auch
schon ein bisschen experimentiert. Der Punkt ist dass ich folgendes verhindern will.
das ist ein auszug aus meinem templatefile. und wie mann sehen kannCode:{foreach from=$update item=update}<br> <form method="POST" action="news.php?action=edit&ID={$update.ID}"> <p><input type="text" name="Titel" value={$update.Titel}size="20"> <br><br> <textarea name=\"Text\" class=\"input\">{$update.Text}</textarea> {/foreach}
wird doch wider code verwendet. kann mann dass unterbinden?
Der Teil den du als "Code" bezeichnest sind einfache Platzhalter für den eigentlichen Inhalt den du dem Template in deiner PHP Datei übergibst.
Es gibt unzählige Diskussionene darüber inwieweit es Sinn macht eine eigene "Template Sprache" zu nutzen, wie sie zB Smarty hat.
Der Syntax von Smarty is nicht kompliziert und ein kurzer BLick in die Doku wird dich schnell ans Licht führen
Grüße
Alex
alles klar. dann muss ich mir das ganze ech nochmals überlegen.
dass ganze auf smarty umprogrammieren macht wenig sinn
wenn ich ein "verschossenes" html file wegen den platzhaltern habe.
dann bearbeite ich lieber direkt den code.
vielen dank für deine aufklärung![]()
Dazu vielleicht kurz nochwas:
Die dynamische Erzeugung von HTML-Dateien ist ohne irgendwelche Kontrollstrukturen (PHP- oder Template-Code) natürlich nicht möglich.
Wenn du z.b. Datenbankinhalte in HTML als Listen/Tabellen ausgeben willst, musst du die dafür benötigte Programmschleife IMMER irgendwie ausdrücken.
Solcher Programmcode nennt sich 'Presentation Logic' (d.h. Programmcode, der für die Ausgabe/Präsentation von Daten zuständig ist), im Gegensatz zur 'Business Logic' (was hier nix mit Geschäften zu tun hat), deren Aufgabe es ist, die Daten zu verwalten, d.h. vom Benutzer entgegenzunehmen, in der DB zu speichern, wieder herauszuholen usw.
Und die Trennung von Business und Presentation Logic ist in jedem Programm auch ohne Template-Engine möglich.
Mein favorisierter Ansatz ist es, sämtlichen für Ausgabe zuständigen Code in separate Dateien auszulagern und diese bei Bedarf zu includen - quasi PHP-Templates.
Damit hast du mehr Möglichkeiten zur Kontrolle der Ausgabe als in jeder speziellen Template-Sprache, es läuft schneller und du brauchst keinen zusätzlichen Code nur für das Template-Management.
Wenn du die Ausgabe deines Programms ändern willst, musst du nur die include-Dateien austauschen.
Einziger Nachteil der Sache: Zur Bearbeitung von Templates muss man zumindest ein bisschen PHP können und als Webmaster muss man anderen Leuten vertrauen können, die an seinen Templates arbeiten, da die dort alles mögliche reinprogrammieren könnten.
danke für die erläuterung!
ist vielleicht noch ein guter anzatz was du unten beschreibst.
ich schaue mal ob ich das realisieren kann.
mfg
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)