MIVA Merchant 5 Module API Feature util

What MIVA Says

A module author employs this feature to enhance the functionality of MIVA Merchant. It provides a means of defining a custom configuration screen, Screen=SUTL and a means of placing a link to the screen in Admin’s left navigation menu. Operations that do not fit into other feature types can be included here.

Required function: StoreUtilityModule_Action [back]

Parameters:

  • module var

Return Type:bool

<MvFUNCTION NAME="StoreUtilityModule_Action" PARAMETERS="module var" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin calls this fuction if StoreUtilityModule_Validate returns a success.

Default Return: 1

Required function: StoreUtilityModule_LeftNavigation [back]

Parameters:

  • module var
  • indent

Return Type:bool

<MvFUNCTION NAME="StoreUtilityModule_LeftNavigation" PARAMETERS="module var,indent" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin calls this function to determine what to place in its left menu. The indent parameter tells

Admin at what depth of indentation to display the link. For example an indent value of "2" would represent the second indent level.

One can place the variable Screen=SUTL in the link, which will cause Admin to call StoreUtilityModule_Screen.

Default Return: NULL

Example 1:

<MvFUNCTION NAME="StoreUtilityModule_LeftNavigation" PARAMETERS="module var,indent" STANDARDOUTPUTLEVEL="">
   <MvDO FILE = "{ g.Module_Admin }" NAME = "l.null" VALUE = "{ LeftNavigation_Dot( l.indent, 'Store_Code=' $ Stores.d.code $'&Screen=SUTL&Module_Code=' $ l.module:code, 'Main', 'API TEST' ) }">
</MvFUNCTION>

Required function: StoreUtilityModule_Screen [back]

Parameters:

  • module var

Return Type:bool

<MvFUNCTION NAME="StoreUtilityModule_Screen" PARAMETERS="module var" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

This function instructs Admin what to display as main content when rendering the SUTL screen.

Default Return: 1

Required function: StoreUtilityModule_Validate [back]

Parameters:

  • module var

Return Type:bool

<MvFUNCTION NAME="StoreUtilityModule_Validate" PARAMETERS="module var" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin calls this function when processing a form submission that includes Action=SUTL

It should return a 1 to indicate the success, a 0 on failure.

Default Return: 1

Example modules using the feature util

  • 4TheBest IP Address Logger
    This module is a simple example logging tool that demonstrates installing and uninstalling a module in a store, creating tables, accessing table from the admin and the store using MvOPENVIEW and/or MvQUERY, and use of the left navigation for utilities.

Return Types [back]

Return Types are expressed in the document by the following codes:

  • string: A string return type is any string you wish though normally it is a string that has a specific intent such as the formatted version of a decimal number as you might use in a currency module.
  • cslist: This is a comma separated list values. Most commonly used to return a list of codes for fields.
  • cclist: This is a comma separated list of colon separated values. Most commonly used as a return from tab functions so that you might have a value like "NVALS:Normal Values,SPECVALS:Special Values,OVALS:Other Values" and the system would be treating each comma separated pair as a tab and using the value on the right of the colon as the label for the tab and the value on the left of the colon as the code for the tab.
  • bool: A boolean "true/false" return value, normally a "1" represents a true value and a "0" represents false. Because of the way the MIVA script language treats strings and numbers any string other than a space, and any number other than a 0 will be treated as a true return value whereas a false value can be expressed by a null value like "" or an expression that evaluates to null or zero like "{ 1 - 1 }" or the absence of the "VALUE" attribute entirely.
  • boolinv: An inverted boolean "true/false" return value. This is when the value returned is a boolean value just like the type "bool" but that the normal default return is a false rather than a true value and that you only return true if some special case is true. In the MIVA Merchant API Most functions that are boolean expect a return of true unless something has gone wrong or some special condition occurs, but in this case it is "normal" to return a false value and you only return a true value if something unusual happens. A specific example would be the TaxModule_Order_Invalid function which only returns a true value if one of the fields is invalid.
  • tristate: Acts like a boolean except that a negative value, usually -1 by convention, indicates an unusual but non error state. In most cases this will be used to cause the normal operations to not be completed without causing an error to be output in order to interrupt something that the system was about to do. This is used for example in system extension interrupts to stop a normal action like adding a product to the basket from taking place so the module can take on the role of adding the item to the basket itself, or preventing it from happening without causing the system to throw the normal errors.
  • acount: This is a numeric value that represents a count of the size of an array passed back by reference. A null or 0 return value acts the same as for a bool return type, meaning nothing happens, but a value of 1 indicates only one array index point exists whereas a return of 3 indicates 3 array index points returned. This is used for example in the shipping and payment method functions that have a method parameter passed in by reference and the return indicates the size of the method array being set in the l.method variable.