Расширенная форма html тега <select>. Является потомком lmbMacroFormElementTag. Список опций из тегов <option> генерируется тегом {{select}} на лету во время исполнения шаблона. При этом можно задать список опций в шаблоне явно, а можно задать его при помощи переменной (или комбинировать).
{{select}} самостоятельно помещает нужные опции как выбранные. Для указания выбранных элементов можно использовать атрибут value, или же {{select}} может взять значение соответствующего поля из контейнера данных в родительском теге {{form}}. Если используется <select> с возможностью выбора нескольких элементов (multiple=«true»), то контейнер данных формы для поля <select> должен содержать массив значений. см. пример ниже.
см. также тег {{select_options_export}}, который используется для заполнения переменной для списка опций на этапе выполнения шаблона.
{{select id='some_id' name='some_name' [multiple] [options="$options_var"] [value="$#selected_value"] [value_field="some_field"]}} {{option}}..{{/option}}... {{/select}}
Обычно список тегов {[option}} или вообще ничего, если список задается при помощи атрибута options.
Этап 1:
Этап 2:
Этап 1: Такой же как и для single
Этап 2:
<? $options = array('ff0000' => 'red', '00ff00' => 'green'); $selected_value_object = new lmbObject(array('my_color' => '00ff00', 'id' => 'ff0000')); ?> {{select id="my_select" options="$options" value="$selected_value_object" value_field="my_color"/}}
Получим:
<select id="my_select" name="my_select"> <option value="ff0000">red</option> <option value="00ff00" selected="true">green</option> </select>
<? $options = array('ff0000' => 'red', '00ff00' => 'green', '0000ff' => 'blue'); $selected_value = array('00ff00', '0000ff'); ?> {{select id="my_select" name="my_select[]" multiple="true" options="$options" value="$selected_value"/}}
Получим:
<select id="my_select" name="my_select[]" multiple="true"> <option value="ff0000">red</option> <option value="00ff00" selected="true">green</option> <option value="0000ff" selected="true">blue</option> </select>
Обсуждение