ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
1342
1342
EMPFEHLEN
-
14.08.03 16:59 #1
Hi
ich möchte mir gerne mein eigenes Template System bauen. Ich hab bei smarty geshend as man da if abfragen einbauen kann, while schleifen usw.
Wie kann man das in seinem eigenen template realisieren?
Ich hoffe ihr könnt mir einige brauchbare Tipps geben.
-
15.08.03 15:35 #2
Kann mir bitte wer helfen?
Wenn ihr meine Frage nicht verstanden habt sagt das doch :-/
-
Naheliegend wäre es doch, wenn du dir den Code von Smarty ansiehst um zu sehen, wie die das realisiert haben. Oder?
-
15.08.03 18:11 #4
Die Compilieren das, hat man mir gesagt. Man muss das ja auch aufm servere instalieren
-
Wenn du dein Problem genauer spezifizieren würdest, dann könnte man dir vielleicht leichter helfen.
Du willst dir ein eigenes Template-System erstellen?
Eine eigene Template-Class erstellen?
if, for, while, switch Befehle benutzen?
Willst du einen Block (template) öfters parsen?
Schreib doch ein bisschen darüber, was es werden soll, was es können soll, was du dir wünscht, wo du dich nicht auskennst, usw. Schreib lieber zuviel und erkläre auch gerne zu genau, dann tun wir uns leichter
- Danke
Selbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.
-
16.08.03 13:16 #6
Also folgendes

Mein Template im Moment verarbeitet die templates so:
Mit meinem template system lad ich die einzelnen abschnitte iun und gebe sie aus. Tabellen Inhalt wird dabei in php in eine while schleife gesetzt, damit auch alle beitraege ausgelesen werden.<!-- Tabellen Kopf -->
<table ....>
<!-- Tabellen Kopf -->
<!-- Tabellen Inhalt -->
<tr>
<td>{wert1}</td>
<td>{wert2}</td>
</tr>
<!-- Tabellen Inhalt -->
<!-- Tabellen Fuss -->
</table>
<!--Tabellen Fuss -->
So mein neues Template System soll folgendes verarbeiten:
Es soll folgendermaßen funktionieren. Im php Skript sind verschiedene while schleifen festgelegt, die der Designer im Template verwenden kann. Beispiel while1 while 2 usw.<table ....>
{while1}
<tr>
<td>{wert1}</td>
<td>{wert2}</td>
</tr>
{while1}
</table>
Nur ich weiss nicht wie ich das bewerkstelligen soll, weil das Template wird ja als ganzes eingelesen und nicht mich in Abschnitten.
Das heisst während der while schleife müsste ich die Ausgabe irgendwie unterbrechen und dann weiterführen.
Das ist mir nicht so ganz klar wie das gehen soll.
Ich hoffe ich hab mich jetzt verständlicher Ausgedrückt
-
Nein, Smarty kompiliert seine Templates...Original geschrieben von Randar
Die Compilieren das...
Wo sonst?Original geschrieben von Randar
Man muss das ja auch aufm servere instalieren
Auf smarty.php.net bekommst du nicht nur den Quellcode, sondern auch eine Dokumentation, Foren etc.
-
Da würd ich an deiner Stelle aber gleich auf die IT-Class (Integrated Templates) zurückgreifen.
Damit kannst du z.B. folgendes tun:
Erstellen des html-templates aus mehrer einzelnen html-files.Aus welchen Templates es besteht kannst du ja dann z.B. mit einem langen switch machen.
Diese "Master"-Template schaut dann z.B. so aus:
diese Blöcke kannst du dann nach Lust und Laune mehrmals, einfach, oder garnicht parsen(ausgeben lassen). Das geht natürlich mit while, if, ...Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<html> blablabla blablabla <!-- BEGIN BLOCK1 --> <table> <tr> <td>{VAR1}</td> </tr> </table> <!-- END BLOCK1 --> blablabla blablabla <!-- BEGIN BLOCK2 --> <table> <tr> <td>{VAR2}</td> </tr> </table> <!-- END BLOCK2 --> blablabla blablabla <!-- BEGIN BLOCK3 --> <table> <tr> <td>{VAR3A}{VAR3C}{VAR3B}</td> </tr> </table> <!-- END BLOCK3 --> blablabla </html>
Also wieso das Rad neu erfinden
Wie das funktioniert ist folgendes:
das Template wird in als String geladen, die Blöcke beginnen immer mit <!-- BEGIN BLOCKx --> und enden mit <!-- END BLOCKx -->. So kann man sie "angreifen"
Blöcke die nicht gebraucht werden(in denen keine Variable spezifiziert wurde) werden am Ende entfernt. Blöcke die du verwenden möchtest spricht man so an:
Code :1 2 3 4 5 6
for($i = 0; $i<2; $i++){ $tpl->setCurrentBlock("BLOCK1"); $tpl->setVariable("VAR1", $var1) $tpl->parseCurrentBlock("BLOCK1"); } //so wird der Block1 2 mal ausgefüllt
Wenn du interesse daran hast, schick mir eine KN oder schreibs in den thread. (Bin aber erst wieder ab Mi. wieder am I-net)
ich hoffe ich habs richtig verstanden *umdieEckeguck*Selbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.
-
16.08.03 15:02 #9
Naja ich wollt das rad schon ganz gerne neu erfinden

Einfach darum um was zu lernen. Außerdem kann ich es dann besser an mich anpassen
-
Dann kann ich dir, wenn du möchtest ja mal die IT-Class schicken. Damit du dir anschauen kannst, wie das so funktioniert. Ich möcht aber auf keinem Fall aufdrängen
Selbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.
-
16.08.03 15:10 #11
Dann schick mir das mal per mail
Müsste ja im Profil drinne stehn.
edit:
Wäre aber trotzdem nett wenn ich von anderen auch noch Tipps bekommen würde
-
soda email geht nicht, da ich dir nur per formular eine nachricht schicken kann.
deshalb probier ichs mal per Forum. Hier sollte nun ein zip-file dranhängen. am besten in einem Verzeichnis im htdocs entpacken, dann funktionierts auch.
Wie man ein Template selbst zusammenstellt aus mehrer files liefer ich nach, bzw vielleicht kommst du selbst drauf, wie es funktioniert.
viel spaß beim probieren
- rauchiSelbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.
-
@rauchi
Hi
Ich benutze auch die IT-Template Class. Ist es irgendwie möglich dynamischen Inhalt durch nur einen Platzhalter ersetzen zu lassen.
Mein CMS ist zu Zeit so aufgebaut.
header
content //ist dynamisch
footer
Das heißt ich habe ein Template für den Header, eins für den Footer und dann mehrere für den Content.
Ich würde es aber gern so machen das ich nur eine HTML Datei habe in der Header und Footer zusammen drin sind, und in der ich dann den Conntent als Platzhalter ausgebe.
So kann könnte mann nämlich die Platzhalter vom Header in den Footer schieben ohne den PHP Code zu ändern.
Hatte es schon mal mit EVAL versucht. Ist aber leider nichts draus geworden.
Mfg Akkie
-
22.10.03 17:44 #14JensMayer Tutorials.de Gastzugang
hab ein rpob mit dem IT template ding
local es 1A sobald ich es jedoch hochlade bekomme ich fehlermeldung dsa er die datei nicht öffnen kann, wäre für hilfe sehr dankbar!
ICQ: 68758011
Ähnliche Themen
-
Template System...
Von Vectormaster im Forum PHPAntworten: 12Letzter Beitrag: 05.03.09, 12:41 -
Template System
Von xppx im Forum PHPAntworten: 3Letzter Beitrag: 18.07.07, 09:03 -
Template System
Von Avedo im Forum PHPAntworten: 21Letzter Beitrag: 02.06.07, 16:26 -
Template System
Von mtk-flo im Forum PHPAntworten: 6Letzter Beitrag: 08.03.06, 14:54 -
Template-System
Von undertaker im Forum PHPAntworten: 8Letzter Beitrag: 11.03.04, 19:49





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren