Код: Выделить всё
$type=array(1=>'тип1',2=>'тип2');
<?=$form->DropDownList($model,'type',$type); ?>
Код: Выделить всё
$type=array(1=>'тип1',2=>'тип2');
<?=$form->DropDownList($model,'type',$type); ?>
Код: Выделить всё
public function rules()
{
return array(
array('type', 'default', 'value'=>'тип2'),
);
}
Код: Выделить всё
echo CHtml::form('','POST',array ('enctype' =>'multipart/form-data'));
echo CHtml::errorSummary($model);
echo CHtml::activeLabel($model, 'values');
$country = array('RUS' => 'Россия',
'UKR' =>'Украина',
'BLR' => 'Белоруссия',
'ITL' => 'Италия');
$selectedValues = array('BLR'=> Array ( 'selected' => 'selected' ),
'ITL' => Array ( 'selected' => 'selected' ));
echo CHtml::activeDropDownList($model,'values',
$country,
array('multiple'=>'multiple',
'name'=>'values',
'class'=>'multiselect',
'title'=>"страны",
'options' => $selectedValues,
));
echo CHtml::endForm($model);
да, это добавит правило для модели. если в выпадающем списке выбор не будет сделан, то в модель будет записано значение по умолчанию. на представление это не влияет.mc-bear писал(а):selected будет значение $model->type
для того чтоб тип2 был по умолчанию, добавьте в rules для моделиКод: Выделить всё
public function rules() { return array( array('type', 'default', 'value'=>'тип2'), ); }
Код: Выделить всё
$type=array(1=>'тип1',2=>'тип2');
$model->type = 2;
<?=$form->DropDownList($model,'type',$type); ?>
Код: Выделить всё
<? $model->provider_id[] = $provider_id;?>
<?php echo $form->dropDownList($model, 'provider_id[]', $ddl, array('empty' => 'Выберите поставщика')); ?>
Код: Выделить всё
$selectedValues = array($provider_id => Array('selected' => 'selected'));
echo CHtml::activeDropDownList($model, 'provider_id[]', $ddl, array(
'empty' => 'Выберите поставщика',
'options' => $selectedValues,)
);
Мне немного сложно представить для чего именно нужна такая конструкция.. Возможно ли привести более обширную часть кода или объяснить как это работает и для чего? Просто я подозреваю, что здесь не совсем правильный подход.porcelanosa писал(а):вот так работаетКод: Выделить всё
$selectedValues = array($provider_id => Array('selected' => 'selected')); echo CHtml::activeDropDownList($model, 'provider_id[]', $ddl, array( 'empty' => 'Выберите поставщика', 'options' => $selectedValues,) );
Есть связанные many_many таблицы поставщика и коллекции.Johnatan писал(а): Мне немного сложно представить для чего именно нужна такая конструкция.. Возможно ли привести более обширную часть кода или объяснить как это работает и для чего? Просто я подозреваю, что здесь не совсем правильный подход.
Код: Выделить всё
echo CHtml::activeListBox($model, 'provider_id', $ddl, array(
'empty' => 'Выберите поставщика',
'htmlOptions' => array('multiple'=>'multiple'))
);
Код: Выделить всё
public function relations()
{
//........
return array(
'providers'=>array(self::MANY_MANY, 'Providers', 'providers_collection(collection_id, provider_id)'),
);
//........
}
Код: Выделить всё
echo CHtml::activeListBox($model, 'providers', $ddl, array(
'empty' => 'Выберите поставщика',
'htmlOptions' => array('multiple'=>'multiple', 'key'=>'id'))
);
Johnatan писал(а):Честно - код на работоспособность не проверял (3 часа ночи). Если нужно - завтра проверю и исправлю, но идея такая вот.
Код: Выделить всё
Fatal error: Call to a member function hasErrors() on a non-object in W:\home\site\framework\web\helpers\CHtml.php on line 1384
Код: Выделить всё
'htmlOptions' => array('multiple'=>'multiple', 'key'=>'id'))
Код: Выделить всё
'multiple'=>'multiple', 'key'=>'id')
Код: Выделить всё
<?php
echo $form->dropDownList($model,'category_id', CHtml::listData(Category::model()->findAll(), 'id', 'category_name'), array('class'=>'text s4', 'multiple' => 'multiple', 'options'=>$model->selected()));
?>
Код: Выделить всё
array(2) {
[3]=>
array(1) {
["selected"]=>
string(8) "selected"
}
[4]=>
array(1) {
["selected"]=>
string(8) "selected"
}
}
В отдельном классе, или в модели, в static переменной, или в функции getLanguageValues(), или в параметрах приложения (params), или в БД (отдельной таблицей, или в таблице для сохранения конфигурации). Вариантов куча, всё зависит от назначения этих переменных.desc писал(а):Подскажите как сохранить нужные данные
...
а мне надо именно
'ru'=>'Russian','en'=>'English'
Чтобы подсказать нужно показать ВЕСЬ участок кода представления, где вызывается dropDownList.desc писал(а):может я не правильно выразился, мне надо принять из пост массива 'ru'=>'Russian','en'=>'English'
а он шлет 0 => 'ru' 1 => 'en' хотя в форме где dropDownList стоит array('ru'=>'Russian','en'=>'English')
Код: Выделить всё
<div class="form-group">
<?php echo $form->labelEx($model,'translatedLanguages'); ?>
<?php echo $form->dropDownList($model,'translatedLanguages', array('ru'=>'Russian','en'=>'English'), array('multiple'=>'multiple')); ?>
<?php echo $form->error($model,'translatedLanguages'); ?>
</div>
Код: Выделить всё
$items = [
'0' => 'Категория товара',
'1' => 'Игрушки',
'2' => 'Одежда'];
$params = [
'options' => ['1'=>['selected'=>'selected']]
];
echo $form->field($buy, 'Btype_name',)->dropDownList(
$items,$params
)->label(false);
Код: Выделить всё
$buy = new Buy();
$buy->Btype_name = 1;