XML Order Export (Work in Progress) -- DOES NOT INCLUDE PAYMENTS.
<mvt:assign name="g.File_Path" value="'/feed/'" />
<mvt:assign name="g.File_Name" value="'order_import.xml'" />
<mvt:assign name="g.Final_File_Path" value="g.File_Path $ g.File_Name" />
<mvt:assign name="g.Full_File_Path" value="g.domain:name $ g.File_Path $ g.File_Name" />
<mvt:assign name="g.temp_file" value="g.File_Path $ 'temp_' $ g.File_Name" />
<mvt:if expr="ISNULL g.PerPage">
<mvt:assign name="g.PerPage" value="10" />
</mvt:if>
<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderList_Load_Offset(g.Offset, NULL, NULL, g.PerPage, g.NextOffset, l.settings:orders)" />
<mvt:eval expr="miva_array_elements(l.settings:orders)" />
<mvt:foreach iterator="order" array="orders">
<mvt:assign name="l.settings:order:customer" value="NULL" />
<mvt:do file="g.Module_Feature_CUS_DB" name="l.null" value="Customer_Load_ID(l.settings:order:cust_id, l.settings:order:customer)" />
<mvt:assign name="l.xml" value="l.xml $ '
<Order_Add>
<OrderDate>
<Day>' $ g.day $ '</Day>
<Month>' $ g.month $ '</Month>
<Year>' $ g.year $ '</Year>
<Minute>' $ g.min $ '</Minute>
<Hour>' $ g.24hour $ '</Hour>
</OrderDate>
<ID>'$ l.settings:order:id $ '</ID>
<ShipFirstName>' $ l.settings:order:ship_fname $ '</ShipFirstName>
<ShipLastName>' $ l.settings:order:ship_lname $ '</ShipLastName>
<ShipEmail><![CDATA[' $ l.settings:order:ship_email $ ']]></ShipEmail>
<ShipPhone>'$ l.settings:order:ship_phone $ '</ShipPhone>
<ShipCompany><![CDATA[' $ l.settings:order:ship_comp $ ']]></ShipCompany>
<ShipAddress1><![CDATA[' $ l.settings:order:ship_addr1 $ ']]></ShipAddress1>
<ShipAddress2><![CDATA[' $ l.settings:order:ship_addr2 $ ']]></ShipAddress2>
<ShipCity><![CDATA[' $ l.settings:order:ship_city $ ']]></ShipCity>
<ShipState><![CDATA[' $ l.settings:order:ship_state $ ']]></ShipState>
<ShipZip>' $ l.settings:order:ship_zip $ '</ShipZip>
<ShipCountry><![CDATA[' $ l.settings:order:ship_cntry $ ']]></ShipCountry>
<BillFirstName>' $ l.settings:order:bill_fname $ '</BillFirstName>
<BillLastName>' $ l.settings:order:bill_lname $ '</BillLastName>
<BillEmail><![CDATA[' $ l.settings:order:bill_email $ ']]></BillEmail>
<BillPhone>'$ l.settings:order:bill_phone $ '</BillPhone>
<BillCompany><![CDATA[' $ l.settings:order:bill_comp $ ']]></BillCompany>
<BillAddress1><![CDATA[' $ l.settings:order:bill_addr1 $ ']]></BillAddress1>
<BillAddress2><![CDATA[' $ l.settings:order:bill_addr2 $ ']]></BillAddress2>
<BillCity><![CDATA[' $ l.settings:order:bill_city $ ']]></BillCity>
<BillState><![CDATA[' $ l.settings:order:bill_state $ ']]></BillState>
<BillZip>' $ l.settings:order:bill_zip $ '</BillZip>
<BillCountry><![CDATA[' $ l.settings:order:bill_cntry $ ']]></BillCountry>
'" />
<mvt:if expr="l.settings:order:customer:id GT 0">
<mvt:assign name="l.xml" value="l.xml $ '<CustomerLogin>' $ l.settings:order:customer:login $ '</CustomerLogin>'" />
</mvt:if>
<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderItemList_Load_Order(l.settings:order:id, l.settings:order:items)" />
<mvt:if expr="miva_array_elements(l.settings:order:items) GT 0">
<mvt:assign name="l.xml" value="l.xml $ l.tab $ '<Items>'" />
<mvt:foreach iterator="item" array="order:items">
<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderOptionList_Load_Line( l.settings:item:line_id, l.settings:item:options)" />
<mvt:assign name="l.xml" value="l.xml $
'<Item>
<code>' $ l.settings:item:code $ '</code>
<Name><![CDATA[' $ encodeentities( l.settings:item:name ) $ ']]></Name>
<Price>' $ l.settings:item:price $ '</Price>
<Cost>' $ l.settings:item:retail $ '</Cost>
<Weight>' $ l.settings:item:weight $ '</Weight>
<Quantity>' $ l.settings:item:quantity $ '</Quantity>
'" />
<mvt:if expr="miva_array_elements(l.settings:item:options) GT 0">
<mvt:assign name="l.xml" value="l.xml $ '
<Options>
'" />
<mvt:foreach iterator="option" array="item:options">
<mvt:assign name="l.xml" value="l.xml $ '
<Option>
<Price>' $ l.settings:option:price $ '</Price>
<AttributeCode>' $ l.settings:option:attr_code $ '</AttributeCode>' " />
<mvt:if expr="l.settings:option:data">
<mvt:assign name="l.xml" value="l.xml $ '
<Value>' $ l.settings:option:data $ '</Value>
'" />
<mvt:else>
<mvt:assign name="l.xml" value="l.xml $ '
<OptionCode>' $ l.settings:option:opt_code $ '</OptionCode>
'" />
</mvt:if>
<mvt:if expr="l.settings:option:attmpat_id GT 0">
<mvt:do file="g.Module_Feature_ATT_DB" name="l.attr" value="AttributeTemplateAttr_Load_ID(l.settings:option:attmpat_id, l.settings:template_loaded)" />
<mvt:do file="g.Module_Feature_ATT_DB" name="l.null" value="AttributeTemplate_Load_ID(l.settings:template_loaded:attemp_id, l.settings:attr_template)" />
<mvt:if expr="l.settings:attr_template:id GT 0">
<mvt:assign name="l.xml" value="l.xml $ '<AttributeTemplateAttributeCode>' $ l.settings:attr_template:code $ '</AttributeTemplateAttributeCode>
'" />
</mvt:if>
</mvt:if>
<mvt:assign name="l.xml" value="l.xml $ '
</Option>
'" />
</mvt:foreach>
<mvt:assign name="l.xml" value="l.xml $ '
</Options>
'" />
</mvt:if>
<mvt:if expr="l.settings:item:shpmnt_id GT 0">
<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderShipment_Load_ID(l.settings:item:shpmnt_id, l.settings:item:shipment_info)" />
<mvt:if expr="l.settings:item:shipment_info:id GT 0">
<mvt:assign name="l.xml" value="l.xml $ '
<Status>Shipped</Status>
<TrackingType>' $ l.settings:item:shipment_info:tracktype $ '</TrackingType>
<TrackingNumber>' $ l.settings:item:shipment_info:tracknum $ '</TrackingNumber>
'" />
</mvt:if>
</mvt:if>
<mvt:assign name="l.xml" value="l.xml $ '</Item>
'" />
</mvt:foreach>
<mvt:assign name="l.xml" value="l.xml $ '</Items>'" />
</mvt:if>
<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderChargeList_Load_Order(l.settings:order:id, l.settings:order:charges)" />
<mvt:if expr="miva_array_elements(l.settings:order:charges) GT 0">
<mvt:assign name="l.xml" value="l.xml $ '<Charges>'" />
<mvt:foreach iterator="charge" array="order:charges">
<mvt:assign name="l.xml" value="l.xml $ '
<Charge>
<Type>' $ l.settings:charge:type $ '</Type>
<Description><![CDATA[' $ l.settings:charge:descrip $ ']]></Description>
<Amount>' $ l.settings:charge:amount $ '</Amount>
</Charge>
'" />
</mvt:foreach>
<mvt:assign name="l.xml" value="l.xml $ '</Charges>'" />
</mvt:if>
<mvt:assign name="l.xml" value="l.xml $ '</Order_Add>'" />
</mvt:foreach>
<mvt:assign name="g.next_url" value="l.settings:urls:_self:auto $ '?&Screen=migrate-orders&PerPage=' $ g.PerPage $ '&Offset=' $ g.NextOffset" />
<mvt:if expr="g.PerPage EQ g.NextOffset">
<!-- Delete File & Create -->
<mvt:assign name="l.file_exists" value="sexists( g.temp_file )" />
<mvt:if expr="l.file_exists EQ 1">
<mvt:assign name="l.file_deleted" value="sdelete( g.temp_file )" />
<mvt:if expr="l.file_deleted EQ 1">
<mvt:assign name="l.file_created" value="file_create( g.temp_file, 'SCRIPT', l.xml )" />
</mvt:if>
<mvt:else>
<mvt:assign name="l.file_created" value="file_create( g.temp_file, 'SCRIPT', l.xml )" />
</mvt:if>
<meta http-equiv="refresh" content="0;URL='&mvt:global:next_url;'" />
Processed <mvt:eval expr="g.PerPage + g.Offset" /> orders...
<mvt:elseif expr="g.NextOffset">
<mvt:assign name="l.write_line" value="file_append( g.temp_file, 'script', l.xml )" />
<meta http-equiv="refresh" content="0;URL='&mvt:global:next_url;'" />
Processed <mvt:eval expr="g.PerPage + g.Offset" /> orders...
<mvt:else>
<mvt:assign name="l.write_line" value="file_append( g.temp_file, 'script', l.xml )" />
<mvt:assign name="l.file_exists" value="sexists( g.File_Path $ g.File_Name )" />
<mvt:if expr="l.file_exists EQ 1">
<mvt:assign name="l.file_deleted" value="sdelete( g.File_Path $ g.File_Name )" />
<mvt:if expr="l.file_deleted EQ 1">
<mvt:assign name="l.file_read" value="file_read( g.temp_file, 'SCRIPT', g.file_copy )" />
<mvt:assign name="l.file_created" value="file_create( g.File_Path $ g.File_Name, 'SCRIPT', g.file_copy )" />
<mvt:assign name="l.file_deleted" value="sdelete( g.temp_file )" />
</mvt:if>
<mvt:else>
<mvt:assign name="l.file_read" value="file_read( g.temp_file, 'SCRIPT', g.file_copy )" />
<mvt:assign name="l.file_created" value="file_create( g.File_Path $ g.File_Name, 'SCRIPT', g.file_copy )" />
<mvt:assign name="l.file_deleted" value="sdelete( g.temp_file )" />
</mvt:if>
Order Export Complete. File is <a href="http://&mvt:global:Full_File_Path;" target="_blank">here</a>.
</mvt:if>- Working on shipments
- Still testing.
- jrmy to the rescue