Autor |
Nachricht |
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst So 26.12.2004 02:38
Titel Templatemaschine und CMS mit php5 |
|
|
Hallöchen. Ich habe noch einmal begonnen, mein CMS in Ermangelung von Alternativen komplett neu aufzusetzten. Wichig war mir eine einfache, doch flexible Templatemaschine. Herausgekommen ist diesmal ein XML unabhängiges system, welches ich persönlich schon für recht klein und leicht und doch leistungsfähig halte.
Neuer Codeschnipsel:
Code: |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head><title>lalilu</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<body>
<h4>Ganz hart:</h4>BUHUHUHUHUHU!!!
<#set $var1[zwei]="AAARGH"#>
<#set $var5.eins.zwei="URHG"#>
<#set $var6="eins"#>
<#set $var3[drei]="zwei"#>
<#set $var4="drei"#>
<p>{$var3[$var4]}</p>
<p>{$var1[$var2][$var3[$var4]]}</p>
{$var1[$var3[$var4]]}
{$var5[$var6][$var3[$var4]]}
<#if $var5[$var6][$var3[$var4]]=="URHG"
<p style="color:red;">$var5[$var6][$var3[$var4]] ist URGH</p>
#>
<#elsif $var1[$var3[$var4]]=="AAARGH"
<p style="color:blue;">$var1[$var3[$var4]]=AAARGH</p>
#>
<#else
<p style="color:orange;">Beide Bedinungen sind falsch.</p>
#>
<h1>{$var5.$var6.$var3[$var4]}</h1>
</body>
</html> |
Nun kommts: Es ist so derbe viel Arbeit, so etwas alleine auf die Beine zu stellen. Gerade die Architektur/Verbindung mit Frontend/Backend-Funktionalitäten u.s.w.. Vielleicht kann der eine oder andere ja mal nen Blick riskieren, und vielleicht sogar Eigenes reinbringen.
Ich werde das hier auf alle Fälle aktuell halten, vielleicht kommt ja auch für den einen oder anderen bereits was bei rum. naja... und ein wenig stolz bin ich auch darauf, daher wollte ichs einfach mal zeigen und mich eurer vernichtenden kritik aussetzen.
UNd bitte keine "Näh, nicht schon wieder templates, schinken!"-Kommentare
LETZTES UPDATE:
Arraysyntax nun auch in Punktseparierten Variablen möglich:
{$var5.$var6.$var3[$var4]} <=> {$var5[$var6][$var3[$var4]]}
UPDATES:
Bedingungen sind nun an erweitertes Variablenhandling angepasst!
Eine Menge Bugfixes im Variablenhandling. Sollte jetzt auch bei tiefen Schachtelungen laufen (Siehe Listing)
"variable" Variablen sind nun auch möglich. Außerdem wird der
Variablentyp automatisch ermittelt, Anfüs in Arraynamen sind nicht
mehr nötig.
// (war alles gelogen=>zu viele Fehler)
Punksyntax tuts jetzt auch
DOWNLOAD
INSTALLATION:
Alles in ein Verzeichnis knallen, index.php starten. Funktionsreferenz folgt.
Wen das hier nicht so zusagt, für den habe ich einen Link: http://www.sitepoint.com/forums/showthread.php?threadid=123769
Zuletzt bearbeitet von am Sa 01.01.2005 14:11, insgesamt 14-mal bearbeitet
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 26.12.2004 11:32
Titel
|
|
|
moin
also ich bin da vllt nen bissel smarty-geschädigt .. aber 2 sachen
hätt ich:
a) bei den if-abfragen .. würd ich irgendwie den php-syntax bei-
behalten, dass if( ... ) { ... } bleibt .. weil die "klammer"
fehlt bei dir ja irgendwie .. und das is ja relativ oft auch bei php
so, dass ich da das klämmersche vergess .. - oder geht das nur
mir so?
b) Variablen würd ich mit $ schreiben - aus dem einfachen grund,
dass ich in if-abfragen (zB) nen direkten vergleich schreiben kann
<#if $heinz == "Schenk" ...
aber das sind ja nur meine Anregungen .. die muss man
ja nicht berücksichtigen
|
|
|
|
|
Anzeige
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst So 26.12.2004 13:10
Titel
|
|
|
Sodele: Du hast recht, eine Vereinfachung ists jedenfalls: So kann man die Akkoladen nun weglassen. Nun ist das natürich in Fließtexten ein Problem:
"Blahblahblahblah$VariableBlahblahblah."
Ich will PHP ja nicht neu erfinden, die Logik soll ja weitestgehend aus den Templates rausbleiben, sodass man höchstens KLeinigkeiten darüber einregelt (Bspw alternierende Tabellenhintergründe bei Datenbankabfragen oder so.) Deshalb will ich auch keine Verknüpfungsoperatoren o.Ä. dort hineinbringen. Auch verschachtelte IFs oder Schleifen sollte man sich sparen, da das ja eher für unbedarfte ich sag mal "wenn ... dann"-Programmierer/Designer gedacht ist. (Verschachtelungen SIND aber möglich! Wäre ja witzlos ohne...) Daher lasse ich die Akkoladen als Alternative drin: Somit kann man im Fließtext ganz einfach schreiben:
"Blahblahblahblah{$Variable}Blahblahblah."
...und benötigt keine Konstruktion wie $text="Blahhhblahh".$variable."blahblah";. Sowas kann ja php bereits, was soll ich da nochmal das gleiche reinbringen. Somit entfällt leider auch die gewünschte Schreibweise bei If-Abfragen. Praktischer für den Entwickler ists vielleeicht auf den ersten Blick, aber der Desiger wünscht sich – denke ich – nur gaaanz einfache Sachen wie Wenn... wennnicht... goto wieder_nach_oben ( oder so...)
Oder wie siehst du das?
(Danke fürs Feedback an der Stelle auch)
Zuletzt bearbeitet von am So 26.12.2004 13:11, insgesamt 1-mal bearbeitet
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 26.12.2004 13:22
Titel
|
|
|
so war's auch nicht gemeint Die Delimiter sind ohne Frage gut,
ich meinte das nur innerhalb der if-Abfragen (zb) ! Weil da hast
du ja eigentlich aussen rum schon "Tags" ..
Fürn Fliesstext würd ich die sicher lassen, sonst kannste die
Templates auch gleich weg lassen
|
|
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst So 26.12.2004 13:29
Titel
|
|
|
Jau, dann hab ich das falsch verstanden. Aber so ists zweifelsohne besser, das stimmt jedenfalls. Ich bin mir aber eh nciht sicher, ob ich das ganze vielleicht eher noch an javascript oder so anlehne. Dann könnte man vielleicht noch mit so Konstrukten wie news.entry[1].date rumhantieren.. obwohl das ja wiederum auch komplizierter ist... ich weiß es nicht...
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 26.12.2004 13:57
Titel
|
|
|
wenn's dir langweilig ist, bauste beides ein .. smarty (ja ja ..
ich weis!) kann auch mehrere sachen verarbeiten .. und grad leute
die das ein oder andere system nicht so häufig gebrauchen sind
froh, wenn se noch andere schreibweisen haben die se benutzen
können!
|
|
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Sa 01.01.2005 14:06
Titel
|
|
|
LETZTES UPDATE:
Arraysyntax nun auch in Punktseparierten Variablen möglich:
{$var5.$var6.$var3[$var4]} <=> {$var5[$var6][$var3[$var4]]}
UPDATES:
Bedingungen sind nun an erweitertes Variablenhandling angepasst!
Eine Menge Bugfixes im Variablenhandling. Sollte jetzt auch bei tiefen Schachtelungen laufen (Siehe Listing)
"variable" Variablen sind nun auch möglich. Außerdem wird der
Variablentyp automatisch ermittelt, Anfüs in Arraynamen sind nicht
mehr nötig.
// (war alles gelogen=>zu viele Fehler)
Punksyntax tuts jetzt auch
DOWNLOAD
INSTALLATION:
Alles in ein Verzeichnis knallen, index.php starten. Funktionsreferenz folgt.
Wen das hier nicht so zusagt, für den habe ich einen Link: http://www.sitepoint.com/forums/showthread.php?threadid=123769
Tester sind immer noch willkommen!
Zuletzt bearbeitet von am Sa 01.01.2005 14:11, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
kleines webprojekt php5 cms
|
|