Grüß Euch,
aktuell bin ich soweit, dass ich bereits alle Hersteller der gefundenen Produkte in einem String/Array zusammen habe.
[{if $oView->getArticleList()}]
[{assign var="oProducts" value=$oView->getArticleList()}]
[{assign var="manulist" value=''}]
[{foreach from=$oProducts item=oProduct key=index}]
[{if $manulist}]
[{assign var="manulist" value=$manulist|cat:', '}]
[{/if}]
[{assign var="oManufacturer" value=$oProducts.$index->getManufacturer()}]
[{assign var="manulist" value=$manulist|cat:$oManufacturer->oxmanufacturers__oxtitle->value}]
[{/foreach}] <br>
[{$manulist|@var_dump}]
[{/if}]
Ich würde jetzt gern noch die doppelten & leeren String entfernen.
Danke für die Hilfe!
Das ist im Prinzip eine Aufgabe für PHP, also Modul.
[QUOTE=leofonic;142815]Das ist im Prinzip eine Aufgabe für PHP, also Modul.[/QUOTE]
Würd ungern nun doch ein Modul machen, die Leerzeichen bekomme ich nun mit
[{assign var="manulist" value=$manulist|replace:" ,":""}]
raus.
Zwecks doppelten Einträgen bin ich nun auf “{cycle}” gestoßen.
Was wäre denn aus performance-technischischer Sicht schneller, die Modul oder Smarty Variante?
Hat dann doch einfacher als gedacht mit Smarty geklappt, hab den String mittels strstr durchsucht und nur falls nicht bereits vorhanden angefügt.
[{if $oView->getArticleList()}]
[{assign var="oProducts" value=$oView->getArticleList()}]
[{assign var="manulist" value=''}]
[{foreach from=$oProducts item=oProduct key=index}]
[{if $manulist}]
[{assign var="manulist" value=$manulist|cat:', '}]
[{/if}]
[{assign var="oManufacturer" value=$oProducts.$index->getManufacturer()}]
[{if $manulist|strstr:$oManufacturer->oxmanufacturers__oxtitle->value}]
[{else}][{assign var="manulist" value=$manulist|cat:$oManufacturer->oxmanufacturers__oxtitle->value}] [{/if}]
[{/foreach}]
[{assign var="manulist" value=$manulist|replace:" ,":""}]
[{$manulist|@var_dump}]
[{/if}]
Wenn jemand aber doch zwecks Performance Informationen hat bzgl. dem Lösen solcher Probleme mit Smarty oder php-Modul wäre ich sehr an seiner Erfahrungen interessiert.
Jedoch komm ich von einem sprichwörtlich “blödem” Problem ins neue.
Jetzt such ich noch ne passende Funktion um den mit ,-getrennten String wieder zu zerlegen die einzelnen Hersteller auch auszugeben.
Lösung: Mit
[{assign var="myManu" value=", "|explode:$manulist}]
in ein Array umwandeln und dann ganz einfach mit einer foreach-Schleife ausgeben!