diff options
Diffstat (limited to 'template/en/default/global')
-rw-r--r-- | template/en/default/global/product-select.html.tmpl | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/template/en/default/global/product-select.html.tmpl b/template/en/default/global/product-select.html.tmpl index 8e43c9d0e..ba5ce73b4 100644 --- a/template/en/default/global/product-select.html.tmpl +++ b/template/en/default/global/product-select.html.tmpl @@ -47,29 +47,39 @@ [% END %] [% IF Param('useclassification') %] - [% product_ids = {} %] + [% classifications = {} %] [% IF products %] [% FOREACH p = products %] - [% key = p.id -%] - [% product_ids.$key = p.id -%] + [% IF NOT classifications.${p.classification.name}.defined %] + [% classifications.${p.classification.name} = [] %] + [% END %] + [% classifications.${p.classification.name}.push(p) %] [% END %] - [% END %] - [% FOREACH c = user.get_selectable_classifications %] - <optgroup label="[% c.name FILTER html %]"> + [% ELSE %] + [% FOREACH c = user.get_selectable_classifications %] + [% classifications.${c.name} = [] %] [% FOREACH p = user.get_selectable_products(c.id) %] - [% NEXT IF (products && ! product_ids.exists(p.id)) %] + [% classifications.${c.name}.push(p) %] + [% END %] + [% END %] + [% END %] + [% FOREACH c = classifications.keys.sort %] + <optgroup label="[% c FILTER html %]"> + [% FOREACH p = classifications.$c %] <option value="[% p.$valueattribute FILTER html %]" - [% " selected" IF (cgi.param(name) == p.name) || (value == p.name) %]> + [% " selected" IF (cgi.param(name) == p.name) || (value.contains(p.name)) %]> [% p.name FILTER html %] </option> [% END %] </optgroup> [% END %] [% ELSE %] - [% products = user.get_selectable_products UNLESS products %] + [% IF NOT products.defined %] + [% products = user.get_selectable_products %] + [% END %] [% FOREACH p = products %] <option value="[% p.$valueattribute FILTER html %]" - [% " selected" IF (cgi.param(name) == p.name) || (value == p.name) %]> + [% " selected" IF (cgi.param(name) == p.name) || (value.contains(p.name)) %]> [% p.name FILTER html %] </option> [% END %] |