[accessories] Access product accessory functions [ad] Insert a random or rotating ad banner [area] Insert a re-written MiniVend URL [bounce] Insert header to redirect to a different URL [calc] Perform Perl calculations (low overhead) [/calc] [cart] Set the current shopping cart name [cgi] Insert a CGI form value [checked] Conditionally check an HTML check/radio box [comment] Insert comments in MiniVend pages [/comment] [col] Used with [row] -- rudimentary text tables for order reports [/col] [condition] Sets a condition inside [if explicit] and others [/condition] [currency] Formats a number like currency for current locale [/currency] [data] Access a database or user session element [default] Insert a variable but with a default response if blank [description] Output a product description [discount] Set a product discount coupon [/discount] [discount-price] Show the discounted price [ecml] Translate to-from Electronic Commerce Modeling Language field [else] Defines else region for [if ...], [if-item-field ..] and others [/else] [elsif] Defines elsif region for [if ...] [/elsif] [error] Check/display form processing errors [field] Access a product database field [file] Insert the contents of a file [flag] Set a minivend flag [fly-list] Show an item "on-the-fly" in an arbitrary page [/fly-list] [goto] goto an arbitrary page location, skipping the rest [html_table] create an HTML table from a query or list [if] Perform any of many conditional tests [/if [if-ITEM-data] Display region only if database element non-empty [/if-ITEM-data [if-ITEM-field] Display region only if field non-empty [/if-ITEM-field [if-ITEM-param] Display only if item passed parameter set [/if-ITEM-param [include] Include a file with complete MiniVend interpretation [import] Import ASCII text into a database [index] Create a searchable ASCII index [input_filter] Create an input filter [ITEM-accessories]Product accessory functions (set select box) [ITEM-alternate] Alternation for table/line build [/ITEM-alternate [ITEM-change] Grouping of items in list display [/ITEM-change [ITEM-code] Insert current item SKU/code/row identifier [ITEM-data] Insert data entry corresponding to current SKU [ITEM-description]Insert description corresponding to current SKU [ITEM-discount] Show amount of discount for current SKU [ITEM-field] Insert product database entry corresponding to current SKU [ITEM-increment] Count for list [ITEM-last] Stop displaying if condition is met [/ITEM-last] [ITEM-next] Skip item if condition is met [/ITEM-next] [item-list] Iterate over a shopping cart [/item-list] [ITEM-param] Show element from list. [ITEM-pos] Show positional element from list. [ITEM-price] Display price of item with any discounts/price breaks/adjustments [ITEM-quantity] Show quantity ordered on shopping cart line [ITEM-subtotal] Subtotal for the item (item-quantity * item-price) [label] Set a label for goto [loop] Iterate over an arbitrary list [/loop] [matches] Show number of matches from search [modifier-name] Place a variable name that corresponds to an attribute [more] Show region of search list only if more matches [more-list] Display more matches list with links to next series [/more-list] [mvasp] ASP-style Perl programming area [no-match] Define area of region results displayed when no match [/no-match] [nitems] Show number of items for a shopping cart [order] Create HTML link to order an item [onfly] Order an item "on-the-fly" [page] Create A HREF with re-written URL to call MiniVend page [perl] Embed output of arbitrary Perl in the page [/perl] [price] Show price of an item [process] Create URL for MiniVend form processing [quantity-name] Place a variable name that corresponds to item quantity [query] Perform any of several types of SQL query [/query] [read_cookie] Read a cookie sent by the user [record] Set a database record [region] Define an area of the page as a search list/query [row] Used with [col] -- rudimentary text tables for order reports [/row] [salestax] Show amount of salestax for shopping cart [scratch] Access a scratch variable [search-list] Display output of a MiniVend search [/search-list] [selected] Conditional selection of drop-down <SELECT ...> [set] Set a scratch variable [/set] [set_cookie] Send a cookie to the user [setlocale] Set the locale [shipping] Calculate shipping [shipping-desc] Show shipping description [sort] Set sort order for iterating lists [/sort] [strip] Strip leading/trailing whitespace [subtotal] Calculate subtotal without tax or shipping [tag] Miscellaneous functions [/tag] [then] Define THEN region for [if ...] [/then] [timed_build] Build region of page on timed basis [total-cost] Calculate order total with tax, handling, and shipping [userdb] Access user database functions [update] Perform MiniVend actions [value] Display form value [value_extended] Display form array values or do file upload functions
To build complex order forms and reports, MiniVend has a complete tag language with over 80 different functions, dubbed MML, for Minivend Markup Language. It allows you access to and control over any of an unlimited number of database tables, multiple shopping carts, user name/address information, discount, tax, and shipping information, search of files and databases, and much more.
There is some limited conditional capability with the [if ...]
tag, but when doing complex operations you should strongly consider using
embedded Perl/ASP.
Most of the tests use Perl code, but MiniVend uses the Safe.pm module with its default restrictions to help ensure that improper code will not crash the server or modify the wrong data.
Perl can also be embedded with in the page, and if given the proper permission by the system administrator, can call upon resources from other computers and networks.