示例#1
0
 /**
  * Executes the widget.
  */
 public function run()
 {
     if ($this->hasModel()) {
         if ($this->asDropdownList) {
             echo Html::activeDropDownList($this->model, $this->attribute, $this->data, $this->options);
         } else {
             if (!isset($this->clientOptions['query']) && !isset($this->clientOptions['ajax']) && !isset($this->clientOptions['data'])) {
                 throw new InvalidConfigException('Must be set at least one of the client options: query, data, ajax.');
             }
             echo Html::activeHiddenInput($this->model, $this->attribute, $this->options);
         }
     } else {
         if ($this->asDropdownList) {
             echo Html::dropDownList($this->name, $this->value, $this->data, $this->options);
         } else {
             if (!isset($this->clientOptions['query']) && !isset($this->clientOptions['ajax']) && !isset($this->clientOptions['data'])) {
                 throw new InvalidConfigException('Must be set at least one of the options Select2: query, data, ajax.');
             }
             echo Html::hiddenInput($this->name, $this->value, $this->options);
         }
     }
     Select2Asset::register($this->view);
     $this->registerPlugin('select2');
 }
示例#2
0
 /**
  * @inheritdoc
  */
 public static function activeDropDownList($model, $attribute, $items, $options = [])
 {
     Select2Asset::register(\Yii::$app->view);
     self::addCssClass($options, self::CLASS_SELECT2ME);
     self::addData($options, 'placeholder', '-');
     return parent::activeDropDownList($model, $attribute, $items, $options);
 }