I decided to take matters into my own hands to solve this issue and as it turns out, was fairly simple to accomplish. Because there was already code in /global/smarty/plugins/function.forms_dropdown.php setting a boolean for is_multiple I decided to take the path of least resistance and simply add the missing parameter the select list rendered on the pre-parser page was missing.
Here's the 1 line of code I added to the forms_dropdown function:
if ($is_multiple){ $attribute_str = $attribute_str . " multiple=\"multiple\""; }
This code was added just before this line:
$html = "<select $attribute_str>" . join("\n", $options) . "</select>";
So, I am just using the existing $is_multiple to decide whether the function should add the multiple="multiple" parameter to the select list. I believe this was the intended purpose of that boolean variable in the first place and Ben just probably forgot to add that little bit of code to actually set the parameter?
What ever the case, I can now associate as many forms as I want with a single pre-parse script, which accomplishes my goal of being able to assign a single pre-parse script globally...
Here's the 1 line of code I added to the forms_dropdown function:
if ($is_multiple){ $attribute_str = $attribute_str . " multiple=\"multiple\""; }
This code was added just before this line:
$html = "<select $attribute_str>" . join("\n", $options) . "</select>";
So, I am just using the existing $is_multiple to decide whether the function should add the multiple="multiple" parameter to the select list. I believe this was the intended purpose of that boolean variable in the first place and Ben just probably forgot to add that little bit of code to actually set the parameter?
What ever the case, I can now associate as many forms as I want with a single pre-parse script, which accomplishes my goal of being able to assign a single pre-parse script globally...