php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.04.2005, 23:41  
Erfahrener Benutzer
 
Registriert seit: 30.01.2005
Beiträge: 140
Malfunction
Standard php_templates - Dynamisch Code einfügen

Ich verwende php_templates, da ich auf einen webhoster angewiesen bin, der eben diese installiert hat.

Meine Anwendung:

Ich habe eine Seite, auf der Thumbnailgrafiken aus der DB eingebunden werden. Sie stehen in einer Tabelle, so dass immer maximal drei thumbnails nebeneinander stehen.

Dazu habe ich folgendes Template geschrieben:
Code:
<table>
<tmpl:img>
<tr>
		<td class="tn">
			<a href="{link}">
				[img]img/{src}[/img]
			</a>
		</td>
</tr>
</tmpl:img>
<table>
Das Problem ist jetzt, dass hier in jeder row nur ein Bild eingefügt wird.
Dazu habe ich die row-tags aus dem Template genommen, und nur ein öffnendes davor, und ein schließendes danach gesetzt.

In der Schleife, wo aus der db gelesen, und das Template aufgerufen wird, wollte ich nun nach jedem dritten durchlauf ein schließendes und öffnendes row-tag einfügen, was aber nicht funktioniert.

Ich habe versucht, über eine zweite definition in der gleichen templatedatei den code einzufügen, das klappt aber auch nicht:
Code:
<tmpl:bla>
{code}
</tmpl:bla>
Dieses Template habe ich nach jeder dritten Iteration mit
Code:
"<tr></tr>"
aufgerufen.

Das Resultat ist immer, dass die Bilder alle in einer row stehen. Die zusätzlichen tags stehen dann sinnlos am ende.

Danke für jeden Hinweise, der Licht in meine Dunkelheit bringt.

edit: ich habe auch nach docs geschaut, die gefundenen beispiele behandeln aber immer einfach ausgaben, wo sich die templateausgabe nicht dynamisch verändert.
Malfunction ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.04.2005, 08:39  
Gast
 
Beiträge: n/a
Standard

hallo erstmal,

ich erkenne leider aus deinem post nicht, welches templatesystem du benutzt. du erwähnst allerdings eine dokumentation. Poste doch einfach mal den link dazu.. Aus dem blinden heraus kann dir keiner helfen.

Gruss
 
Alt 04.04.2005, 10:03  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Dieses hier ists ... die noch einzige freie Tempalte-Extension (die ich kenne jedenfalls)
http://sourceforge.net/projects/php-templates/
Guradia ist offline  
Alt 04.04.2005, 10:32  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

smarty und k-template sind doch uach frei oder irre ich mich?
robo47 ist offline  
Alt 04.04.2005, 10:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47
smarty und k-template sind doch uach frei oder irre ich mich?
Türlich .. und IT, ITX, Flexy, Savant etc.etc. ...

Aber kompilier die doch mal nativ in PHP ein ;P
Guradia ist offline  
Alt 04.04.2005, 10:39  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ach so okay, hab den begriff extension nicht so viel weiter hinterdacht, dass ne reine php-extension gemeint ist, dachte es ging um ne template-engine :P

naja montag morgen :P
-> tee kochen
-> zum MMM (montag morgen meeting) chillen :P

mfg
robo47
robo47 ist offline  
Alt 04.04.2005, 11:20  
Erfahrener Benutzer
 
Registriert seit: 30.01.2005
Beiträge: 140
Malfunction
Standard

Guardia hat recht - die isses.

Und nu?
Malfunction ist offline  
Alt 04.04.2005, 14:54  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

So ....


Code:
<tmpl:flump>
go {BreakFlump}
</tmpl:flump>
PHP-Code:
<?php
    
for ($i 1$i 100$i ++) {
        if (
$i 10 == 0)
            
$zeile = array('BreakFlump' => '
'
);
        else
            
$zeile = array('BreakFlump' => '');
        
tmpl_iterate($template'flump');
        
tmpl_set($template'flump'$zeile);
    }
?>
Guradia ist offline  
Alt 04.04.2005, 19:53  
Erfahrener Benutzer
 
Registriert seit: 30.01.2005
Beiträge: 140
Malfunction
Standard

hmmm... das problem ist aber, dass ich nicht einfach ein '
go' ausgeben möchte.

so sieht die schleife aus, die die bilder (items) ausgibt:
PHP-Code:
<?php
while($data mysql_fetch_assoc($res)) {
    
tmpl_iterate($template'item');
    
tmpl_set($template'item'$data);
}
?>
Hier wird jetzt bei jeder iteration ein thumbnail aus der db ausgelesen und mit dem template eingebunden.
Jetzt muß aber nach jedem dritten durchlauf noch html-code hinzukommen:

PHP-Code:
<?php
while($data mysql_fetch_assoc($res)) {
    
tmpl_iterate($template'item');
    
tmpl_set($template'item'$data);
    
$count++;
    if (
$count == 3) {
        
$count 0;
        
# hier muß jetzt irgendwie '</tr><tr>' an das template übergeben werden
    
}
}
?>
Kann ich in einer templatedatei nur 1 template definieren? ich hatte einfach ein zweites template definiert, welches die gewünschten tags einfügt. Dieses habe ich dann in dem if-block aufgerufen - leider ohne erfolg:

PHP-Code:
<?php
while($data mysql_fetch_assoc($res)) {
    
tmpl_iterate($template'item');
    
tmpl_set($template'item'$data);
    
$count++;
    if (
$count == 3) {
        
$count 0;
        
tmpl_iterate($template'foo');
        
tmpl_set($template'foo', array('bar' => '</tr><tr>'));
    }
}
?>
Die Tags wurden anzahlmässig zwar korrekt eingefügt, aber immer am Ende. Beim parsen scheint anch templatetags sortiert zu werden, egal in welcher reihenfolge sie aufgerufen wurden.
Malfunction ist offline  
Alt 04.04.2005, 20:39  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Naja ... das ist DOCH so einfach ...

... du musst das nur so machen, wie in meinem Beispiel .. in EINEM Template ...

Wenn du 2 benutzt, geht das zwar .. aber du kannst sie nicht verschachtelt ausgeben, es sei denn, du schickst das Parse des einen in eine Variable des anderen ...

Was ich da gemacht habe, war nur 5 Sekunden überlegen .. (maximum)
Guradia ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Javaskript klappmenü dynamisch mit PHP Schubbcasten PHP Tipps 2008 9 15.07.2008 15:45
Probleme mit PHP Code HappyDieMuschel PHP Tipps 2008 7 28.05.2008 06:34
[Erledigt] PHP Code aus Datenbank ayti PHP Tipps 2008 8 26.05.2008 19:40
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
einfacher Code zum Einbinden von "Inhaltsbereichen" MaxDittmann PHP-Fortgeschrittene 6 01.10.2007 15:54
FiFo macht Probs beim Css Code Matthiasnet HTML, Usability und Barrierefreiheit 10 18.08.2006 13:14
PHP: Wie parst der Server den Code am schnellsten? SvenLittkowski PHP Tipps 2007 4 17.12.2005 10:58
bb code in htm code wandeln janni PHP Tipps 2007 2 04.11.2005 22:36
[Erledigt] JS Code in PHP Code?? HTML, Usability und Barrierefreiheit 12 08.08.2005 15:45
Seite 1/2/3..Code was haltet ihr davon? Matthiasnet PHP Tipps 2005-2 4 29.07.2005 20:29
[Erledigt] Lesbarkeit von Code Off-Topic Diskussionen 6 14.07.2005 14:48
code aus db mit eval replacen chief-thomson PHP Tipps 2005-2 4 08.07.2005 15:33
Fehler im Code, kann ihn nicht finden PHP Tipps 2005 9 16.05.2005 16:17
Bestätigungmail code? PHP Tipps 2005 7 16.05.2005 13:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php_templates, tmpl_iterate, dynamisch php code, savant3 php ausgeben in tpl, php \tmpl_iterate\, php nach jedem dritten durchlauf, php dynamisch seiten einfügen, \php_templates\, php code dynamisch, php template einfügen, untermenüs dynamisch einfügen vb.net, wo template tags einfügen, code dynamisch einfügen php, itx verschachtelte blöcke, tmpl_set tmpl_iterate, verschachtelte block itx

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.