[SMARTY] Sortierung, Reihenfolge der Ausgabe

resoucer

Gesperrt
ID: 77379
L
20 April 2006
2.846
109
Hallo,

undzwar habe ich hier eine Schleife die per Smarty ausgegeben wird

PHP:
{foreach key=key_data item=item_data from=$variants}      

oVariant.Add(
			  '{$item_data.size}'
			, '{$item_data.color}'
			, '#{$item_data.colorValue}'
			, '{$item_data.colorDesc}'
			, '{$item_data.colorImage}'
			, '{$item_data.form}'
			, '{$item_data.quantity}'
			, '{$item_data.DiffSalePrice}'
			, '{$item_data.DiffPurchasePrice}'
			, '{$item_data.DiffReduPrice}'
			, '{$item_data.DiffMoonPrice}'
			, '{$item_data.ProductOptionsValueId}'
			, ''
		);
   
	{/foreach}

jetzt möchte ich aber (falls vorhanden) aus der Schleife zuerst das ausgegeben wird wenn {$item_data.color} == $farbe ist.

ich hatte es schon so versucht

PHP:
{foreach key=key_data item=item_data from=$variants}
	        

    {if $farbe == $item_data.color}       

		oVariant.Add(
			  '{$item_data.size}'
			, '{$item_data.color}'
			, '#{$item_data.colorValue}'
			, '{$item_data.colorDesc}'
			, '{$item_data.colorImage}'
			, '{$item_data.form}'
			, '{$item_data.quantity}'
			, '{$item_data.DiffSalePrice}'
			, '{$item_data.DiffPurchasePrice}'
			, '{$item_data.DiffReduPrice}'
			, '{$item_data.DiffMoonPrice}'
			, '{$item_data.ProductOptionsValueId}'
			, ''
		);
		
    {else}
     {$ausgabe = $ausgabe."oVariant.Add(
		  '{$item_data.size}'
			, '{$item_data.color}'
			, '#{$item_data.colorValue}'
			, '{$item_data.colorDesc}'
			, '{$item_data.colorImage}'
			, '{$item_data.form}'
			, '{$item_data.quantity}'
			, '{$item_data.DiffSalePrice}'
			, '{$item_data.DiffPurchasePrice}'
			, '{$item_data.DiffReduPrice}'
			, '{$item_data.DiffMoonPrice}'
			, '{$item_data.ProductOptionsValueId}'
			, '' );"	}
    
    {/if}
	{/foreach}
	{$ausgabe}

das klappt aber nicht da komischweise nur das ausgegeben wird

HTML:
, 'black'
			, '#'
			, ''
			, ''
			, ''
			, '7'
			, '0.0000'
			, '-0.8800'
			, '0.0000'
			, '0.0000'
			, '1619'
			, '' );"	}

hoffe mir kann da einer helfen.

Vielen Dank
 
Im Allgemeinen ist Sortierung nicht Aufgabe eine Template-Systems, es wäre Aufgabe des darüberliegenden Systems (der Controller) die Ausgabe richtig sortiert bereitzustellen.
 
Im Allgemeinen ist Sortierung nicht Aufgabe eine Template-Systems, es wäre Aufgabe des darüberliegenden Systems (der Controller) die Ausgabe richtig sortiert bereitzustellen.

ja ich weiß, normal bräuchte man nur ein selected rein setzen und das problem währe aus gelöst aber da das ganze mit JS add programmiert wurde blicke ich dort nicht so durch. Wollte daher die Ausgabe verändern.
 
Oben dein Code hat doch einen Syntax-Fehler?

PHP:
     {$ausgabe = $ausgabe."oVariant.Add(

Ich kenn mich zwar mit Smarty nicht aus, bezweifle aber dass das klappt.
 
Wenn man die Ausgabe so ansieht, wird die "PHP-Klammer" wohl schon durch das erste }-Zeichen wieder beendet. Sonst wäre nicht die Farbe der erste sichtbare Wert.
Lieg ich mit meiner These richtig, müsste aber noch ein Apostroph mehr am Anfang der Ausgabe sein.