Timo_B
Aktives Mitglied
Moin,
ich korrigiere grade die Sortierung "Erscheinungsdatum" von desc auf asc, etwas ungewöhlich aber erfolgreich über den Umweg, das Ergebnis-Array einfach umzudrehen anstatt die nicht vorhandene Option zu wählen, den SQL-Code anzupassen.
Also: jetzt gehts los
Der "from"-Parameter in einer foreach-Schleife ändert sich abhängig von einer Bedingung (Hier: "umdrehen" der Sortierreihenfolge nur bei "Erscheinungsdatum").
Im Moment habe ich es so gelöst, das ich die komplette Foreach-Schleife jeweils in die if/else zweige kopiere:
Mit schwebt da natürlich etwas einfacheres vor:
Bis jetzt bin ich dran gescheitert.
Habe versucht, var value="`...`" oder value="{literal}...{/literal}" jeweils ohne Erfolg.
Jemand eine Idee, wie man das lösen kann?
LG
Timo
ich korrigiere grade die Sortierung "Erscheinungsdatum" von desc auf asc, etwas ungewöhlich aber erfolgreich über den Umweg, das Ergebnis-Array einfach umzudrehen anstatt die nicht vorhandene Option zu wählen, den SQL-Code anzupassen.
Also: jetzt gehts los
Der "from"-Parameter in einer foreach-Schleife ändert sich abhängig von einer Bedingung (Hier: "umdrehen" der Sortierreihenfolge nur bei "Erscheinungsdatum").
Im Moment habe ich es so gelöst, das ich die komplette Foreach-Schleife jeweils in die if/else zweige kopiere:
Code:
{if $smarty.get.Sortierung == "" or $smarty.get.Sortierung == 10}
{foreach name=artikel from=$Suchergebnisse->Artikel->elemente|@array_reverse item=Artikel}
...(>400-zeilen)...
{/foreach}
{else}
{foreach name=artikel from=$Suchergebnisse->Artikel->elemente item=Artikel}
...(>400-zeilen)...
{/foreach}
{/if}
Mit schwebt da natürlich etwas einfacheres vor:
Code:
{if bedingung}
{var assign name="var" value="from=$Suchergebnisse->Artikel->elemente|@array_reverse"}
{else}
{var assign name="var" value="from=$Suchergebnisse->Artikel->elemente"}
{/if}
//und dann nur _einmal_ die Schleife:
{foreach name=artikel from=$var item=Artikel}
Bis jetzt bin ich dran gescheitert.
Habe versucht, var value="`...`" oder value="{literal}...{/literal}" jeweils ohne Erfolg.
Jemand eine Idee, wie man das lösen kann?
LG
Timo