![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 30.10.2005
Beiträge: 274
|
Ja das haben wir alle schon mal durchgekaut...dennoch möchte ich auch dieses Rad selbst bauen.
Nun das Templatesystem Tutorial hier im Forum ist wirklich gut. Ich hab es durchgemacht und so klappt es auch prima. Jedenfalls wollte ich wie bei Smarty ein {foreach} hinzufügen, jedoch weiß ich nicht so recht wie man das so am geschicktesten implementiert. Ich hatte mir das so überlegt. Beim assign() wird ja die zu ersetzende Variable übergeben und der dementsprechende Text. in der Klasse wird nun geprüft ob es sich dabei um ein Array handelt. Nun weiß ich nicht so recht ob man dafür ne neue private Funktion machen sollte die Arrays abarbeitet oder ob ich das in die replaceFunction einbauen sollte, was eigentlich mir besser erscheint. Nun ja hat jemand dazu vielleicht nen kleinen Tip wie man sowas abarbeiten würde? |
|
|
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 14.12.2004
Beiträge: 219
|
Hmmm also ich würde in dem
{foreach [name]} folgendes nur das array [namen] mitgeben. Dann in der umsetzung wie im Tut das Array per assign definieren und dann einfach bei der umsetzung wie mit den anderen Möglichkeiten nach ... {foreach [name]} // evtl. noch mit Filenamen für ein ausgabe template pro schleife {foreach name:[name] file:[file]} suchen bzw. die übereinstimmung mit [name] in der tpl Anweisung mit der in den assign definierten vergleichen und das ganze dann wie die andern auch mit preg_replace ersetzen. Das Array müsste halt vorher wie gewollt zusammen gestellt werden. Da habe ich mir auch schon gedanken gemacht ob ich das per Template mache oder gleich im Code, ich habe mich für gleich im Code entschieden plus die ausgabe dann per assign zu definieren.
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut. Ich such immer noch den Cheat für unlimited money! Geändert von DasMööp (22.12.2005 um 13:00 Uhr). |
|
|
|
|
|
Nach oben #3 |
|
Goldman.de
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
|
ich verstehe nicht warum immer so kompliziert ....
bsp.tpl Code:
<div>
{% foreach($das as $des:( %}
<p>{$des}</p>
{% endforeach %}
<!-- mit while, for, do alles machbar auch bedingngen ala if -->
{% while(TRUE:( %}
<p>zeige mich</p>
{% endwhile %}
{% if(TRUE:( %}
<p>zeige mich</p>
{% endif %}
</div>
PHP-Code:
mfg [edit] wenn ich ein "aufgeplustertes" system haben will nehme ich smarty also schreibt man doch nur eine engine wenn man ein "small" system haben will ... dann aber bitte auch konsequent small
__________________
Code:
eval('echo "'.gzinflate(base64_decode('8zI2TjGOAAA=')).'";');
Geändert von J33d3X (23.12.2005 um 04:28 Uhr). |
|
|
|
|
|
Nach oben #4 |
|
Erfahrener Benutzer
Registriert seit: 30.10.2005
Beiträge: 274
|
Ich hätte grad dazu nochmal eine Frage. Ich bin dabei das Template System vom Tutorial zu verändern. Wenn ich ein {* Kommentar *} in das Template schreibe habe ich eine leere Zeile in der Ausgabe. Das ist auch das Problem wenn ich ne eigene Funktion schreibe die Arrays abarbeitet. Es bleibt immer ne Leere Zeile (Da wo foreach steht und endet) hab mit trim, etc. schon einiges probiert aber das wird nix.
Code:
{foreach $users}
<tr>
<td>{$id}</td>
<td>{$name}</td>
</tr>
{/foreach}
Code:
<tr>
<td>1</td>
<td>Heinz</td>
</tr>
Code:
<tr>
<td>1</td>
<td>Heinz</td>
</tr></table>
|
|
|
|
|
|
Nach oben #5 | |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Ich hab auch mal ne Frage zu foreach Schleifen und mir gedacht ich kann diesen Thread dafür missbrauchen.
In meinem Template möchte ich das gerne so lösen: Code:
{foreach $aEntries AS $aEntry}
{include file="entry.tpl"}
{/foreach}
PHP-Code:
Zitat:
__________________
http://www.ChrisDiary.De |
|
|
|
|
|
|
Nach oben #6 | |
|
Erfahrener Benutzer
Registriert seit: 18.03.2005
Beiträge: 585
|
Zitat:
Der Sinn und Zweck, warum man eigentlich Templates einsetzt, ist hier eigentlich im A..... Wenn man wieder anfängt, irgendwelchen PHP-Kram mit HTML zu vermischen, brauch man keine Templates einzusetzen. Weis nicht wo hier die strikte und saubere Trennung von PHP und HTML sein soll ... |
|
|
|
|
|
|
Nach oben #7 | ||
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Zitat:
PHP-Code:
Code:
{foreach $aEntries AS $aEntry}
{include file="entry.tpl"}
{/foreach}
__________________
http://www.ChrisDiary.De Geändert von Chr!s (23.04.2006 um 11:53 Uhr). |
||
|
|
|
|
|
Nach oben #9 | |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Zitat:
__________________
http://www.ChrisDiary.De |
|
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Ein eigenes Templatesystem schreiben | Corvin | Tutorials | 42 | 19.03.2008 17:58 |
| PHP template und schleifen | Victorious | PHP-Programmierung | 57 | 25.09.2007 00:18 |
| Schleifen im Templatesystem | Stefan125 | PHP-Programmierung | 4 | 19.07.2007 02:36 |
| Schleifen in einem Template verarbeiten | Prophet | PHP-Programmierung | 11 | 10.09.2006 19:16 |
| mit foreach schleife auf 4 fach verschachteltes Array zugreifen | Doggi | PHP-Programmierung | 4 | 01.02.2006 15:45 |