Shipping List
Copyright © 2001, William Weiland
Overview
Sort your shipping methods by cost, module name, or method name.
Initial Setup
Use the Merchant admin upload feature to upload the module. Once uploaded, click the Add button to add it to the mall/domain.

In admin, under your store, click on the link for Utilities Configuration Screen. Assign the module and Update it to install it in your store.

Click the link for Shipping List to enter the configuration setting.


Configuration Setting
Enter data into the applicable input field.

Sort By
Select the sort order.


Editing Requirements (skip if using the OpenUI)
If you are using the Miva Merchant User Interface (mmui) you will need to make some very simple edits to the core files. Be sure to do that with a text editor (NO WYSIWYG editors) such as Programmer's File Editor (PFE) so as not to damage the mv files. ALWAYS BACKUP your unmodified mv files in case you make a mistake.

Locate the function MMUI_Order_ShippingPaymentSelection inside the mmui.mv file. Within that function you will see the following several lines. I have put an asterisk at the beginning of the existing lines in Merchant version 4.0 (Merchant version 3.x is similar). The lines which are not asterisk are to be added in three locations shown. The line marked with three asterisks and beginning with the OPTION tag, is to be removed or commented out.
<MvDO FILE = "{g.Module_Root $ 'modules/util/shiplist.mv'}" NAME = "l.ship_ok" VALUE = "{Shipping_List(g.Basket_ID)}">
* <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindFirst_Type( 'SHIPPING' ) }">
* <MvWHILE EXPR = "{ l.found }">
* <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.methods" VALUE = "{ ShippingModule_Shipping_Methods() }">
* <MvASSIGN NAME = "l.pos" VALUE = 1>
* <MvASSIGN NAME = "l.method" VALUE = "{ ltrim( rtrim( gettoken( l.methods, ',', l.pos ) ) ) }">
* <MvWHILE EXPR = "{ len( l.method ) }">
* <MvASSIGN NAME = "l.totalmethods" VALUE = "{ l.totalmethods + 1 }">
* <MvASSIGN NAME = "l.code" VALUE = "{ substring( l.method, 1, ( ':' IN l.method ) - 1 ) }">
* <MvASSIGN NAME = "l.name" VALUE = "{ substring( l.method, ( ':' IN l.method ) + 1, len( l.method ) - ( ':' IN l.method ) ) }">
<MvDO FILE = "{g.Module_Root $ 'modules/util/shiplist.mv'}" NAME = "l.ship_added" VALUE = "{Shipping_List_Add(l.code,l.name)}">
*** <OPTION VALUE = "{ encodeentities( Modules.d.code ) $ ':' $ encodeentities( l.code ) }"><MvEVAL EXPR = "{ l.name }"></OPTION>
* <MvASSIGN NAME = "l.pos" VALUE = "{ l.pos + 1 }">
* <MvASSIGN NAME = "l.method" VALUE = "{ ltrim( rtrim( gettoken( l.methods, ',', l.pos ) ) ) }">
* </MvWHILE>
* <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindNext_Type( 'SHIPPING' ) }">
* </MvWHILE>
<MvDO FILE = "{g.Module_Root $ 'modules/util/shiplist.mv'}" NAME = "l.ship_ok" VALUE = "{Shipping_List_Sort(g.Basket_ID)}">