2014-05-03 3 views
1

Puis-je utiliser le support de taggest avec les dats uniquement à partir du modèle? je n'ai pas besoin de nouvelles étiquettes créant par l'utilisateurSupport yii2-widget, Select2 et taggest

echo '<label class="control-label">Tag Content</label>'; 
echo Select2::widget([ 
'name' => 'color_1', 
'options' => ['placeholder' => 'Select a color ...', 'class'=>'form-control'], 
'pluginOptions' => [ 
    'tags' => ["red", "green", "blue", "orange", "white", "black", "purple", "cyan",   "teal"], 
    'maximumInputLength' => 10 
], 

]);

Maintenant, l'utilisateur peut ajouter des balises comme "gr", "r" et d'autres, mais je ne le veux pas. Je ne ai besoin des tags mon modèle par création (comme StackOverflow)

+0

Je veux dire ce widget [link] (http : //demos.krajee.com/widget-details/select2) – Slip

+0

Utilisez les widgets dropdown..ou autocomplete !! –

+0

donc c'est autocomplete) – Slip

Répondre

2

dans votre _form.php

echo '<label class="control-label">Tag Content</label>'; 
echo Select2::widget([ 
    'model' => $model, 
    'attribute' => 'tags', 
    'name' => 'tags', 
    'data' => common\models\Tag::getOptions(), 
    'options' => [ 
     'placeholder' => 'Select a color ...', 
     'class' => 'form-control', 
     'multiple' => true 
    ], ]); 

puis ajoutez le code suivant dans votre modèle

public static function getOptions(){ 
    $data= static::find()->all(); 
    $value=(count($data)==0)? [''=>'']: \yii\helpers\ArrayHelper::map($data, 'id','name'); //id = your ID model, name = your caption 

    return $value; 
} 
+0

Ouaish !!! Merci! Génial! – Slip

+0

Une idée de comment le faire fonctionner avec des tags ajax chargés? – Joe