named: [loop with=``-a''* arg=``item item item'' search=``se=whatever'']
positional: [loop item item item] LIST [/loop]
HTML example:
<TABLE><TR MV="loop 1 2 3"><TD>[loop-code]</TD></TR></TABLE>
Returns a string consisting of the LIST, repeated for every item in a comma-separated or space-separated list. Operates in the same fashion as the [item-list] tag, except for order-item-specific values. Intended to pull multiple attributes from an item modifier -- but can be useful for other things, like building a pre-ordained product list on a page.
Loop lists can be nested reliably in MiniVend 3.06 by using the with=``tag'' parameter. New syntax:
[loop arg="A B C"]
[loop with="-a" arg="[loop-code]1 [loop-code]2 [loop-code]3"]
[loop with="-b" arg="X Y Z"]
[loop-code-a]-[loop-code-b]
[/loop]
[/loop]
[/loop]
An example in the old syntax:
[compat]
[loop 1 2 3]
[loop-a 1 2 3 ]
[loop-b 1 2 3]
[loop-code].[loop-code-a].[loop-code-b]
[/loop-b]
[/loop-a]
[/loop]
[/compat]
All loop items in the inner loop-a loop need to have the with value appended, i.e. [loop-field-a name], [loop-price-a], etc. Nesting is arbitrarily large, though it will be slow for many
levels.
You can do an arbitrary search with the search=``args'' parameter, just as in a one-click search:
[loop search="se=Americana/sf=category"]
[loop-code] [loop-field title]
[/loop]
The above will show all items with a category containing the whole world ``Americana'', and will work the same in both old and new syntax.
table is non-empty, and the
ELSE (if any) otherwise.
products table is non-empty, and the ELSE (if any) otherwise.
[loop-last][calc]
return -1 if '[loop-field weight]' eq '';
return 1 if '[loop-field weight]' < 1;
return 0;
[/calc][/loop-last]
If this is contained in your [loop list] and the weight field is empty, then a numerical -1 will be output from the [calc][/calc] tags; the list will end and the item
will not be shown. If the product's weight field is less than 1, a numerical 1 is
output. The item will be shown, but will be the last item shown.
[loop-next][calc][loop-field weight] < 1[/calc][/loop-next]
If this is contained in your [loop list] and the product's weight field is less than 1, then a numerical 1 will be output from the [calc][/calc] operation. The item will not be
shown.