Einfaches Templatesystem

Tab

unlimited
ID: 374854
L
26 Juni 2007
900
71
Guten Abend,

ich suche ein einfaches aber effektives Template System. In dem Zusammenhang bin ich immer wieder auf SMARTY gestoßen. Habe es mir runtergeladen und installiert. Doch ist dieses System schon zu komplex. Die Einarbeitung dauert einfach zu lange.

Gibt es vielleicht einfachere Systeme, die dennoch effektiv sind?

Liebe Grüße, Tab
 
Es gibt afair eine abgespeckte Smarty-Variante, aber da wird nur vom Funktionsumfang abgespeckt, um das Ding klein zu halten. Dass eine hohe Einarbeitungszeit benötigt wird, hör ich jetzt zum ersten Mal.

Wenn du nur einfache Sachen damit machen willst, ist das Ding kinderleicht und du brauchst maximal ein paar Stunden. Crashcourse hastde gemacht?

Was für Anforderungen stellst du denn an das Template-System?
 
Ich möchte mit dem Smarty System einige kleine Seiten anlegen für die sich kein CMS lohnt.

Die Anforderungen sind klar. Es soll mir Zeit sparen und Script vom Design trennen.

Leider gibt es zu diesem System nicht gerade viele Tutorials. Vielleicht kennst du ein paar gute Seiten?

Liebe Grüße, Tab
 
Die Anforderungen sind klar. Es soll mir Zeit sparen und Script vom Design trennen.
Das is nix spezielles und sollte wohl jedes Template-System erfüllen.
Leider gibt es zu diesem System nicht gerade viele Tutorials. Vielleicht kennst du ein paar gute Seiten?
Naja, ich behaupte mal, Smarty is die Template-Engine, wenn es um PHP geht, von daher hast du damit beste Papiere, um im Netz was zu finden.

Du bist nicht auf meine Frage mit dem Crashcourse eingegangen, also geh ich mal davon aus, du kennst ihn nicht:
https://www.smarty.net/crashcourse.php

Ich müsste irgendwo noch ein eBook rumliegen haben, was ich vor Jahren mal geschrieben und im Netz verkauft hab. Wenn da Interesse ist, kann ich mal suchen, ob ich das noch finde. Kannst mir ja ne PN schreiben.

Mit Google findest du aber auch alles :D Ich hab schon oft nach seeeehr speziellen Dingern mit Smarty gesucht (d.h. wenn du nix komplexes machst, wirst du sowas nie suchen) und selbst da hab ich genug Software-Foren und sogar Foren nur um Smarty mit vielen Antworten gefunden :)


Du kannst ja noch auf andere Posts mit Empfehlungen auf andere Template-Systeme warten, aber ich wurde mal überzeugt, Smarty zu nehmen, anstatt jedes Mal das Rad neu zu erfinden und seitdem geb ich das weiter :biggrin:
Smarty ist wirklich nur empfehlenswert :yes:

P.S. Smarty 3 gibts bald :)
 
smarty032a2.jpg

So sieht mein Verzeichnis mit Smarty momentan aus. Jetzt kommen mir nur noch 2 kleine Fragen auf.

Ich habe einen Auftritt mit 5 Seiten. Wo lege ich diese an? In dem Verzeichnis wo die index.php drinne ist? Oder muss ich noch eine gleiche Datei unter Templates anlegen?

Logisch gedacht, müsste man ja nur bei index.php die anderen Dateien anlegen...

Liebe Grüße
 
Ich habe einen Auftritt mit 5 Seiten. Wo lege ich diese an? In dem Verzeichnis wo die index.php drinne ist? Oder muss ich noch eine gleiche Datei unter Templates anlegen?
Wie du möchtest.
Ich weiß weder, wie du programmierst, noch wie es funktionieren soll.

Für gewöhnlich hast du für einen Typ von Seite ein Template und eine Scriptdatei. Es können aber mehrere Scripts dasselbe Template und umgekehrt auch ein Script mehrere Templates (sogar meistens der Fall) nutzen.

Die Templates in den ./templates-Ordner, die Scripte kannst du im Stammverzeichnis deines Projekts lassen.
 
Wenn das so ist, dann frage ich mich wo die Zeitersparnis ist, wenn ich für jede Seite 2 Dateien anlegen muss?

Liebe Grüße, Tab
 
Du willst doch Script und Design trennen. Isses dann nicht logisch, dass du auch zwei Dateien brauchst? :ugly:
 
Wenn das so ist, dann frage ich mich wo die Zeitersparnis ist, wenn ich für jede Seite 2 Dateien anlegen muss?
Neee. Entweder sparst Du Zeit und verzichtest auf die Trennung von PHP- und HTML-Code, ODER Du legst eben zwei Dateien an, und hast es getrennt.

Ich frag mich aber, ob Smarty für ne 5-Seiten-Page nicht etwas overdosed ist!? Wie wäre es mit diesem hier?

Um es aber vorweg zu nehmen, ich bin kein Smarty-Gegner, nutz es selbst. Nur bei derart kleinen Projekten lohnt es sich meist nicht.

Gruß
 
Die 5 Seiten waren als Beispiel gedacht. SIchelrich ist der Nutzen bei sehr kleinen Seiten auch sehr gering.

Zum Verständnis habe ich noch eine Frage. Theoretisch ist es ja nichts anderes, als das ich in der z.B. kontakt.php meinen Kontaktformularscript reinschreibe und mit $smarty->assign(...); die Werte dann an das Kontakt.tpl übergebe?

Liebe Grüße, Tab
 
Zum Verständnis habe ich noch eine Frage. Theoretisch ist es ja nichts anderes, als das ich in der z.B. kontakt.php meinen Kontaktformularscript reinschreibe und mit $smarty->assign(...); die Werte dann an das Kontakt.tpl übergebe?
Welche Werte?
Normalerweise gehen Werte vom Kontaktformular zum Script. Aber wenn du das andersrum hast und dem Formular Werte aus PHP mitgeben musst, dann müssen diese assignt werden, richtig.

Ganz einfach und universell ausgedrückt: Smarty (oder jede anderen Template-Engine) ersetzt veränderliche Teile in den Templates durch Variablenwerte aus PHP (oder einer anderen Scriptsprache).
 
Vielen Dank.

Demnach benötige ich für einfache Seite keine weiteren Funktionen des Smarty Scripts als das assign...?

Liebe Grüße, Tab
 
Du brauchst auch für größere Projekte nur assign() ;)

Die Funktionalität von Smarty steckt in den Templates.
 
Die Frage die ich mir stelle ist, ob ich diese weiteren "Funktionen" benötige.

Code:
[COLOR=blue]{html_options values=$id output=$names selected="5"}[/COLOR]

HTML:
<option label="bob" value="1">bob</option>
<option label="jim" value="2">jim</option>
<option label="joe" value="3">joe</option>

Der obere Code entspricht ja der Ausgabe unten. Doch muss ich diese einzelnen Codes alle können? Theoretisch könnte ich dieses Formular ja auch direkt ins Template schreiben?

Liebe Grüße, Tab
 
Ich verwende sie nie. Wenn dich die Dinger nerven und dir Smarty zu "überladen" vorkommt, kann man diese Funktionalität sogar noch entfernen.
Theoretisch könnte ich dieses Formular ja auch direkt ins Template schreiben?
Das kannst du nicht. Wie willst du denn die selected-Angabe hinkriegen? Und die Werte kommen aus dynamischen Variablen, also fest is das schon mal gar nicht.

Du kannst dir diesen Einzeiler nur in drei Zeilen via {foreach} und {if} schreiben. Funktioniert analog, Geschmacksache, obs leichter zu lesen is oder schlechter, weils mehr Code is.
 
Also Smarty is schon sehr schoen, und vor allem wenn man einen Designer hat der minimal programmieren kann, dann kann der sich naemlich um die Design umsetzung kuemmern mittels smarty-loops und if-else-statements und die schnittstelle zwischen programmierer und designer is lediglich "fuer die Seite rufe ich das template auf und du bekommst folgende Daten von mir assigned".

Aber wie gesagt, fuer 5 Seiten isses sehr ueberblasen. Wenn du's wirklich minimal haben willst dann empfehl ich immer noch HTML-Files mit placeholdern und dann mit str_replace oder preg_replace drueber zu gehen.
 
Guten Abend,

ich suche ein einfaches aber effektives Template System. ...

Dabei sei auch mal erwähnt das PHP selbst auch eine gewisse "Templatefunktion" hat. Siehe dazu Punkt 6 im Diagramm. Ich habe zwar den Thread nur überflogen, aber wenn es wirklich nur um 5 Seiten geht ist man doch mit reinem PHP/HTML schneller oder nicht? Ich meine wozu hat man sonst den alternativen Syntax
PHP:
<ul>
<?php for($x=0; $x <=5; $x++): // oder "php" weglassen ?>
<li> blubb <?= $x; // oder auch statt "=" echo nutzen ?></li>
<?php endfor; ?>
</ul>

Außerdem ist es doch so das Smarty nix anderes macht, mit dem Zusatzpunkt das man selbst noch einen Syntax mehr kennen muß, oder?

*edit
Wie mein Vorredener, hatte nur Zyniker seinen Post noch net gelesen.