Smarty Retoure - Mehrere Positionen pro Retoure

Moin,

wir haben folgende Herausforderung. Unser Smarty Code für den Empfang von Retouren durch unseren Fulfillment Dienstleister sieht wie folgt aus:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <xml>
        <retoure_list>
            {foreach from=$csvwithoutheader key=keyrow item=Ab}
                {if $keyrow == 0 || $Ab->col1 != $csvwithoutheader[$keyrow - 1]->col1}
                    <retoure>
                        <datum>{$Ab->col7}</datum>
                        <retoureart/>
                        <belegnr/>
                        <auftrag>{$Ab->col1}</auftrag>
                        <fortschritt>geprueft</fortschritt>
                        <retoure_position_list>
                {/if}
                        <retoure_position>
                            <nummer>{$Ab->col2}</nummer>
                            <menge>{$Ab->col4}</menge>
                            <beschreibung>{$Ab->col3}</beschreibung>
                            <grund>{$Ab->col5}</grund>
                            <internerkommentar>{$Ab->col0}</internerkommentar>
                        </retoure_position>
                {if $keyrow == count($csvwithoutheader) - 1 || $Ab->col1 != $csvwithoutheader[$keyrow + 1]->col1}
                        </retoure_position_list>
                    </retoure>
                {/if}
            {/foreach}
        </retoure_list>
    </xml>
</response>

Nun schickt der Dienstleister eine CSV wo mehrere Positionen zu mehreren Aufträgen drin sind. Zum Teil werden die zusammengehörigen Retouren in der CSV NICHT direkt untereinander geschrieben. Das zerschießt meine Smarty Logik.

Ich brauche einen Code, der alle Positionen mit der gleichen Auftragsnummer (in meinem Fall col1) in einer Retoure zusammenfasst.

Kann mir jemand helfen?

Besten Dank im Voraus!

Hi @kakacommerce ,

da würde ich empfehlen besser direkt über die neue API zu gehen.

BG, Daniel