Artikeleigenschaften (sArticle.sProperties) als Liste ausgeben

{foreach $sArticle.sProperties as $sProperty} {if $sProperty.name == 'Funktionen' || $sProperty.name == 'Functions'} {$sProperty.name}{$sProperty.value} {/if}

Meine Artikeleigenschaften lasse ich im Moment wie im Code oben ausgeben. Gerne würde ich diese aber als Liste ausgeben.

Jetzt ist es so:

Funktionen: Blau, Rot, Weiß, Grau

So sollte es sein:

Funktionen:

  • Blau
  • Rot
  • Weiß
  • Grau

Ist dies irgendwie möglich?

Ja, mittels einer unsortierten HTML-Liste:

https://wiki.selfhtml.org/wiki/HTML/Textstrukturierung/ul

Mit HTML bekomme ich es schon hin, aber wenn ich den Code wie folgt umbaue, werden leider immer alle Eigenschaften unter einem Listenpunkt ausgegeben, nicht nur einer.

{foreach $sArticle.sProperties as $sProperty}

{if $sProperty.name == 'Funktionen' || $sProperty.name == 'Functions'}					
{$sProperty.name}{$sProperty.value}
{/if}

So sieht es dann aus:

  • Funktionen: Blau, Rot, Weiß, Grau

 

Na das liegt daran:

Du befindest dich innerhalb einer foreach-Schleife zwischen {foreach …} und {/foreach} (Das schließende {/foreach} fehlt bei dir übrigens nach dem {/if}). D.h., dass alles innerhalb der Schleife für jede Eigenschaft getan wird.

Mit

Beginnt man eine (u)nsortierte (L)iste (deshalb ul) und mit

schließt man die wieder.

Alles zwischen

und

ist ein (L)isten (i)tem (deshalb li).

Du legst mit deinem Code also für jede Eigenschaft eine eigene Liste mit einem ListenItem an. Das kann ja so gar nicht gewollt sein. :wink:

Du willst ja eine(!) Liste mit ListenItems für jede Eigenschaft.

1 „Gefällt mir“

 Mein nächster Versuch… Leider bleibt die Liste hier leer… :frowning:

{foreach $sArticle.sProperties as $sProperty}
{if $sProperty.name == 'Funktionen' || $sProperty.name == 'Functions'}					
{$sProperty.name}
{$sProperty.value}
{/if}
{/forreach}

 

Das Problem ist, dass alle {$sProperty.value} in einem Listenpunkt ausgegeben werden. Wie lässt sich das umgehen? Danke!!

@steinsoftware schrieb:

Na das liegt daran:

Du befindest dich innerhalb einer foreach-Schleife zwischen {foreach …} und {/foreach} (Das schließende {/foreach} fehlt bei dir übrigens nach dem {/if}). D.h., dass alles innerhalb der Schleife für jede Eigenschaft getan wird.

Mit

Beginnt man eine (u)nsortierte (L)iste (deshalb ul) und mit

schließt man die wieder.

Alles zwischen

und

ist ein (L)isten (i)tem (deshalb li).

Du legst mit deinem Code also für jede Eigenschaft eine eigene Liste mit einem ListenItem an. Das kann ja so gar nicht gewollt sein. ;)

Du willst ja eine(!) Liste mit ListenItems für jede Eigenschaft.

@Goethe schrieb:

 Mein nächster Versuch… Leider bleibt die Liste hier leer… :(

{foreach $sArticle.sProperties as $sProperty}
{if $sProperty.name == 'Funktionen' || $sProperty.name == 'Functions'}					
{$sProperty.name}
{$sProperty.value}
{/if}
{/forreach}

 

Alle Caches geleert, Theme neu kompiliert, Seite neu geladen, Bei Artikel getestet der auch Eigenschaften hat deren Name ‚Funktionen‘ oder ‚Functions‘ ist?

Denn bis auf dein schließendes {/foreach} (Nur ein r !) funktoniert der Code nämlich.

Auch wenn du wahrscheinlich eher den Namen und den Wert in einem Listen-Item haben möchtest statt in separaten.

Es klappt, aber die Funktionen werden alle in einem Listen Element ausgegeben. Das ist mein Problem :( 

Funktionen: Blau, Grün, Braun, Grau

 

@steinsoftware schrieb:

@Goethe schrieb:

 Mein nächster Versuch… Leider bleibt die Liste hier leer… :(

{foreach $sArticle.sProperties as $sProperty}
{if $sProperty.name == ‚Funktionen‘ || $sProperty.name == ‚Functions‘}
{$sProperty.name}
{$sProperty.value}
{/if}
{/forreach}

 

Alle Caches geleert, Theme neu kompiliert, Seite neu geladen, Bei Artikel getestet der auch Eigenschaften hat deren Name ‚Funktionen‘ oder ‚Functions‘ ist?

Denn bis auf dein schließendes {/foreach} (Nur ein r !) funktoniert der Code nämlich.

Auch wenn du wahrscheinlich eher den Namen und den Wert in einem Listen-Item haben möchtest statt in separaten.

Keiner eine Idee?