View previous topic :: View next topic |
Author |
Message |
jack0711 Smarty n00b
Joined: 24 Aug 2013 Posts: 3
|
Posted: Sat Aug 24, 2013 9:57 am Post subject: Anfänger: Foreach mit Where |
|
|
Hallo, ich bin absoulter Anfänger und habe folgende Frage:
In eines Webshop (Shopware) möchte ich gerne einen bestimmten Eigenschaftswert ausgeben lassen. Mit folgender Funktion lasse ich alles Eigenschaften ausgeben:
Code: | {foreach from=$sArticle.sProperties item=sProperty}
{$sProperty.name}
{$sProperty.value}
{/foreach} |
Wie kann ich die Foreach Schleife abändern, dass er mir nur einen bestimmten Wert ausgibt. Bspw. sProperty.name = groesse
Bzw. gibt es eine andere Funktion, um nur diesen einen Wert auszugeben?
danke für eure Hilfe |
|
Back to top |
|
Fahrstuhllicht Smarty Rookie
Joined: 10 Jun 2013 Posts: 15 Location: Berlin
|
Posted: Sat Aug 24, 2013 11:57 am Post subject: |
|
|
Was steckt denn hinter deinem $sarticle.sproperties? Ein Array oder was ?
Wie ist das aufgebaut.
Ggf. reicht es, wenn du noch eine foreachschleife einbaust. |
|
Back to top |
|
jack0711 Smarty n00b
Joined: 24 Aug 2013 Posts: 3
|
Posted: Sat Aug 24, 2013 12:01 pm Post subject: |
|
|
vielen dank für die Antwort. dahinter steckt ein Array mit verschiedenen eigenschaftswerten. ich benötige aber nur die eine Eigenschaft. kannst du ein Beispielcode posten? danke |
|
Back to top |
|
Fahrstuhllicht Smarty Rookie
Joined: 10 Jun 2013 Posts: 15 Location: Berlin
|
Posted: Sat Aug 24, 2013 2:54 pm Post subject: |
|
|
Es wäre praktisch, wenn du mal nen Print_r von dem Array machst und das postest |
|
Back to top |
|
U.Tews Administrator
Joined: 22 Nov 2006 Posts: 5068 Location: Hamburg / Germany
|
Posted: Sat Aug 24, 2013 3:02 pm Post subject: |
|
|
Code: | {foreach from=$sArticle.sProperties item=sProperty}
{if $sProperty.name == 'groesse'}
{$sProperty.name}
{$sProperty.value}
{/if}
{/foreach} |
|
|
Back to top |
|
jack0711 Smarty n00b
Joined: 24 Aug 2013 Posts: 3
|
Posted: Fri Aug 30, 2013 4:08 pm Post subject: |
|
|
Vielen Dank für die Antwort. Das hat schon mal geklappt;) Geht es auch einfacher (ohne Schleife)?
Das Array habe ich mal per print_r ausgegeben
Code: | Array ( [1] => Array ( [id] => 1 [optionID] => 1 [name] => Jahrgang [groupID] => 1 [groupName] => Wein [value] => 2011 [valueID] => 5 [nameTranslation] => [groupNameTranslation] => [valueTranslation] => [values] => Array ( [0] => 2011 ) ) [4] => Array ( [id] => 4 [optionID] => 4 [name] => Rebsorte [groupID] => 1 [groupName] => Wein [value] => Cabernet Sauvignon, Merlot, Riesling [valueID] => 14 [nameTranslation] => [groupNameTranslation] => [valueTranslation] => [values] => Array ( [0] => Cabernet Sauvignon [1] => Merlot [2] => Riesling ) ) [3] => Array ( [id] => 3 [optionID] => 3 [name] => Verpackung [groupID] => 1 [groupName] => Wein [value] => Karton [valueID] => 10 [nameTranslation] => [groupNameTranslation] => [valueTranslation] => [values] => Array ( [0] => Karton ) ) [2] => Array ( [id] => 2 [optionID] => 2 [name] => Farbe [groupID] => 1 [groupName] => Wein [value] => rot [valueID] => 1 [nameTranslation] => [groupNameTranslation] => [valueTranslation] => [values] => Array ( [0] => rot ) ) ) 1 |
Ich möchte nur den Wert für Jahrgang = 2011 ausgeben. |
|
Back to top |
|
U.Tews Administrator
Joined: 22 Nov 2006 Posts: 5068 Location: Hamburg / Germany
|
Posted: Fri Aug 30, 2013 4:50 pm Post subject: |
|
|
Das ginge nur wenn der Key vom Array sProperties immer gleich und bekannt ist. In Deinem Beispiel 1.
Code: | {if $sArticle.sProperties.1.value == 2011}
{$sArticle.sProperties.1.name} {$sArticle.sProperties.1.value}
{/if} |
Für nähre Tipps fehlt der übergeordnet Zusammenhang in dem Du die Ausgabe machen willst. |
|
Back to top |
|
|