Skip to content

Instantly share code, notes, and snippets.

@steveosoule
Created January 10, 2019 17:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save steveosoule/e00ee2110b29457b4065b71455ff0510 to your computer and use it in GitHub Desktop.
Save steveosoule/e00ee2110b29457b4065b71455ff0510 to your computer and use it in GitHub Desktop.
miva_array_filter_ref to sum totals
<mvt:foreach iterator="item" array="order:items">
<mvt:if expr="l.settings:item:skip">
<mvt:foreachcontinue />
</mvt:if>
<mvt:assign name="l.record_found" value="miva_array_filter_ref( l.settings:totals, 1, l.item, 'l.item:code EQ l.settings:item:code', l.record )" />
<mvt:if expr="l.record_found">
<mvt:comment> sum </mvt:comment>
<mvt:assign name="l.record[1]:price" value="(l.settings:item:price * l.settings:item:quantity) + l.record[1]:price" />
<mvt:assign name="l.record[1]:quantity" value="l.settings:item:quantity + l.record[1]:quantity" />
<mvt:else>
<mvt:comment> create record </mvt:comment>
<mvt:assign name="l.record:code" value="l.settings:item:code" />
<mvt:assign name="l.record:unit_price" value="l.settings:item:price" />
<mvt:assign name="l.record:price" value="l.settings:item:price" />
<mvt:assign name="l.record:quantity" value="l.settings:item:quantity" />
<mvt:assign name="l.void" value="miva_array_insert( l.settings:totals , l.record, '-1' )" />
</mvt:if>
</mvt:foreach>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment