Jump to content
Sign in to follow this  
xabbu

foreach Schleifen in templates...

Recommended Posts

Hi zusammen,


viele von Euch kennen bestimmt "Template-Engines" wie smarty oder ähnliches.

Bei Smarty, z.B., gibt es ja die "foreach" Funktion die so aussieht:

 

{foreach from=FROM_ARRAY item=ZIEL_ITEM key=ZIEL_KEY}
schleifen code
{/foreach}

 

Ein verschachteln von Schleifen ist ja ebenso prolemlos möglich.

Nun meine Frage:


Ich habe mal im Smarty Code geschaut, wie die das gemacht haben, bin aber leider nicht ganz schlau draus geworden. Ich habe deswegen mal versucht es nachzubauen.

Eine einfache foreach Schleife ist kein Problem, aber so wie ich sie verschachteln möchte, geht es nicht mehr.

Ich habe es mit dem folgenden pattern versucht:

 


 

So bekomme ich als Ergebnis das folgende Array zurück:

Array
(
   [0] => Array
       (
           [0] => {foreach from=testvar item=items key=keys}
{keys} -- {items}


{/FOREACH}
           [1] =>  from=testvar item=items key=keys
           [2] => 
{keys} -- {items}



       )

)

 

So kann man dann die Elemente auch schön ersetzen.

Verschachtel ich die Schleifen allerdings so:

 

{FOREACH from=testvar item=items key=keys}
{keys} -- {items}


{FOREACH from=items item=subItem key=subKeys}
	  {subItem}  {subKeys}

	{FOREACH from=subItem item=subItem2 key=subKeys2}
		  {subItem2}  {subKeys2}
	{/FOREACH}

{/FOREACH}

{keys} -- {items}

{/FOREACH}

 

Dann klappt das ganze nicht mehr und ich bekomme folgendes Array zurück:

 

Array
(
   {0} => Array
       (
           {0} => {FOREACH from=testvar item=items key=keys}
{keys} -- {items}


{FOREACH from=items item=subItem key=subKeys}
	  {subItem}  {subKeys}

	{FOREACH from=subItem item=subItem2 key=subKeys2}
		  {subItem2}  {subKeys2}
	{/FOREACH}
           {1} =>  from=testvar item=items key=keys
           {2} => 
{keys} -- {items}


{FOREACH from=items item=subItem key=subKeys}
	  {subItem}  {subKeys}

	{FOREACH from=subItem item=subItem2 key=subKeys2}
		  {subItem2}  {subKeys2}

       )

)

 

Ich habe echt schon ewig rum probiert mit dem pattern, aber ich komme leider nicht weiter. Vielleicht ist mein Ansatz auch einfach falsch.

Ich hoffe, jemand macht sich die Mühe und liest meinen Thread durch und kann mir dann bei meinem Problem helfen.


Gruß

Xabbu

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×