Yii2 Html::dropDownList et Html::activeDropDownList compromis

Dans Yii2, à l'aide de Html::activeDropDownList, je peux envoyer des données dans un formulaire comme suit:

 <?= Html::activeDropDownList($model, 'category', ArrayHelper::map($categories, 'id', 'name'), [
       'multiple' => 'multiple',
       'class' => 'multiselect',
 ]) ?>

Est-il un moyen de spécifier pré-sélectionnés catégories ci-dessus?
Je sais que cela peut être fait en utilisant Html::dropDownLost comme suit:

<?= Html::dropDownList('category', [1, 3, 5], ArrayHelper::map($categories, 'id', 'name'), [
     'multiple' => 'multiple',
     'class' => 'multiselect',
]) ?>

Mais il y a un compromis à faire! Il n'y a pas de place pour indiquer que ce n'est quelques données attachées à un certain modèle de présenter comme il a été à l'aide de Html::activeDropDownList.

L'une des solution que j'ai trouvé est d'utiliser ActiveForm comme suit:

<?= $form->field($model, 'category')
      ->dropDownList('category', [1, 3, 5], ArrayHelper::map($categories, 'id', 'name')
]) ?>

Le problème que j'ai avec cette dernière option, c'est que je ne suis pas en mesure de préciser le code html des options telles que "multiples" et css comme "classe".

Toute aide sur la façon d'être en mesure d'utiliser la liste déroulante avec la possibilité de spécifier la liste à sélection multiple et ont pré-sélectionné valeurs? Aussi, si quelqu'un m'a dirigé vers une ressource où je peux lire sur quand et où choisir activeDropDownList ou dropDownList, je voudrais vraiment l'apprécier.

Merci!

OriginalL'auteur intumwa | 2015-09-11