Hey,
ich bastle manchmal an meinem eigenen Template und da tut sich eine Frage auf wo mir schlicht und ergreifend die Erfahrung fehlt oder aber die Idee. Umsetzen ist wohl das geringste Problem.....
Nunja zurzeit hole ich mir den kompletten Templateinhalt und beginne dann mit der Ersetzung. Im Endeffekt kommt dann bei einem Block folgendes raus
Dabei übergebe ich:
Blubb ist dabei der Block den ich als Variable dann einfach auf true setze und im folgenden wird dann die Bedingung zutreffen und den Block anzeigen.....
Gut nur gibt es manchmal Fälle in denen ein Block durch eine externe Schleife mehrmals auftauchen soll und ich habe nun den Block auf true gesetzt welcher dann angezeigt wird. Daher habe ich keine Template Variablen mehr....
Das ganze wird zwar temporär vorbehalten bis zum eigentlichen Parsevorgang. Aber ich kann diesen Block nur einmal parsen weil er nur einmal vorhanden ist.
Ich müsste den Block also replizieren und ersetzen![Confused](https://www.php-resource.de/forum/core/images/smilies/confused.gif)
Und genau hier hab ich keine Idee ich glaube mein Weg ist falsch. Meine interne Template For Schleife geht ja aber wenn von ausserhalb ein Block mehrmals auftauchen soll dann kann es nicht gehen weil ich den Block einmal ersetzen kann und dann ist Schluss......
Ich hoffe ihr könnt meine Beschreibung nachvollziehen:
kurz:
- Template wird als Text komplett eingeladen
- Wird ein Block übergeben wird dieser ermittelt und mit den Blockinhalten ausgetauscht
- Wird der Block nochmals übergeben wird es auch temporär vorbehalten
- eigentlicher Parsevorgang ersetzt dann die Arrays wenn der erste Block ersetzt wurde existiert der Block nicht mehr....Beim erneuten Blockparsen existieren diue Blockvariablen nicht mehr daher ein Leerlauf........
Es wäre schon wenn ihr mir eine Idee geben könntet weil ich seh den Wald vor den Bäumen nicht mehr liegt vielleicht am Glühwein![Big Grin](https://www.php-resource.de/forum/core/images/smilies/biggrin.gif)
Gruß Pod
ich bastle manchmal an meinem eigenen Template und da tut sich eine Frage auf wo mir schlicht und ergreifend die Erfahrung fehlt oder aber die Idee. Umsetzen ist wohl das geringste Problem.....
Nunja zurzeit hole ich mir den kompletten Templateinhalt und beginne dann mit der Ersetzung. Im Endeffekt kommt dann bei einem Block folgendes raus
PHP-Code:
<? If ($Blubb) {?>
irgendwas HTML
< ? } ?>
PHP-Code:
$template->assign_block_vars('Blubb',array('wuff'=>'test','bla'=>'sdfsdf'
) );
Gut nur gibt es manchmal Fälle in denen ein Block durch eine externe Schleife mehrmals auftauchen soll und ich habe nun den Block auf true gesetzt welcher dann angezeigt wird. Daher habe ich keine Template Variablen mehr....
Das ganze wird zwar temporär vorbehalten bis zum eigentlichen Parsevorgang. Aber ich kann diesen Block nur einmal parsen weil er nur einmal vorhanden ist.
Ich müsste den Block also replizieren und ersetzen
![Confused](https://www.php-resource.de/forum/core/images/smilies/confused.gif)
Und genau hier hab ich keine Idee ich glaube mein Weg ist falsch. Meine interne Template For Schleife geht ja aber wenn von ausserhalb ein Block mehrmals auftauchen soll dann kann es nicht gehen weil ich den Block einmal ersetzen kann und dann ist Schluss......
Ich hoffe ihr könnt meine Beschreibung nachvollziehen:
kurz:
- Template wird als Text komplett eingeladen
- Wird ein Block übergeben wird dieser ermittelt und mit den Blockinhalten ausgetauscht
- Wird der Block nochmals übergeben wird es auch temporär vorbehalten
- eigentlicher Parsevorgang ersetzt dann die Arrays wenn der erste Block ersetzt wurde existiert der Block nicht mehr....Beim erneuten Blockparsen existieren diue Blockvariablen nicht mehr daher ein Leerlauf........
Es wäre schon wenn ihr mir eine Idee geben könntet weil ich seh den Wald vor den Bäumen nicht mehr liegt vielleicht am Glühwein
![Big Grin](https://www.php-resource.de/forum/core/images/smilies/biggrin.gif)
Gruß Pod
Kommentar