public function dropDownList($model, $attribute, $data, $htmlOptions = array()) { if ($model->isAttributeRequired($attribute)) { $htmlOptions['required'] = 'required'; } return parent::dropDownList($model, $attribute, $data, $htmlOptions); }
public function enum($attribute) { $enumClass = get_class($this->model); foreach (explode('_', $attribute) as $name) { $enumClass .= ucfirst($name); } $enumClass .= 'Enum'; $htmlOptions = array('key' => 'id'); if ($attribute == 'type') { $htmlOptions['onChange'] = '$(this).closest("form").find(".typeEnumerable").hide();' . '$(this).closest("form").find(".typeEnumerable").closest("fieldset").hide();' . '$(this).closest("form").find(".typeEnumerable_" + $(this).val()).show();' . '$(this).closest("form").find(".typeEnumerable_" + $(this).val()).closest("fieldset").show();'; Yii::app()->clientScript->registerScript('initTypeInput', ' $("[name*=type]").each(function(){ $(this).change(); }); ', CClientScript::POS_LOAD); } $html = parent::dropDownList($this->model, $attribute, $enumClass::$names, $htmlOptions); return $html; }
/** * @inheritDoc */ public function dropDownList($model, $attribute, $data, $htmlOptions = array()) { if (!$this->qualifyNames && !isset($htmlOptions['name'])) { $htmlOptions['name'] = $attribute; } if (!isset($htmlOptions['itemprop'])) { $htmlOptions['itemprop'] = $this->getItemPropName($attribute); } return parent::dropDownList($model, $attribute, $data, $htmlOptions); }
<?php $form = new CActiveForm(); foreach ($models as $model) { ?> <div class="row-fluid"> <?php echo $form->dropDownList($model, "[]BenefitID", Benefit::DropDown(), array('class' => "span12")); ?> </div> <?php }
public function getActionElements($controller, $action) { $form = new CActiveForm(); $p = Yii::app()->createController($controller); if ($p && isset($p[0])) { $contObj = $p[0]; } else { $contObj = array(); } if ($contObj && ($actonArr = $contObj->actions())) { if (isset($actonArr[$action]) && $actonArr[$action]['class'] == 'CViewAction') { $path = $contObj->viewPath . '/pages'; $files = array(); if (is_dir($path)) { foreach (scandir($path) as $file) { if (strpos($file, '.php')) { $name = str_replace('.php', '', $file); $files[$name] = $name; } } } if ($files) { return $form->dropDownList($this, 'element', $files, array()) . $form->hiddenField($this, 'elementmodel', array('value' => 'CViewAction')); } } } $actions = array(); $controller = $_SERVER['DOCUMENT_ROOT'] . '/protected/controllers/' . $controller . 'Controller.php'; $file = file_get_contents($controller); preg_match('!.*action' . $action . '(.*)!im', $file, $matches); if (isset($matches[1])) { preg_match('!\\/\\*(.*)\\*\\/!ism', $matches[1], $matches); } if (isset($matches[1])) { parse_str($matches[1]); // $criteria = new CDbCriteria(); if ($condition) { $criteria->condition = $condition; } if ($order) { $criteria->order = $order; } $returmnodels = new $model(); $returmnodels = $returmnodels->model()->findAll($criteria); $this->elementmodel = $model; if (isset($selectitem3)) { return $form->dropDownList($this, 'element', CHtml::listData($returmnodels, $selectitem1, $selectitem2, $selectitem3), array('prompt' => 'Выбирите...')) . $form->hiddenField($this, 'elementmodel'); } else { return $form->dropDownList($this, 'element', CHtml::listData($returmnodels, $selectitem1, $selectitem2), array('prompt' => 'Выбирите...')) . $form->hiddenField($this, 'elementmodel'); } } else { return ''; } }
/** * Renders a dropdown list for a model attribute. * @param CModel $parentModel the parent data model * @param string $attributedPath the attribute or path to related model attribute * @param array $data data for generating the list options (value=>display) * @param array $htmlOptions additional HTML attributes. * @return string the generated drop down list */ public function dropDownList($parentModel, $attributedPath, $data, $htmlOptions = array()) { list($model, $attribute, $htmlOptions) = self::resolveArgs($parentModel, $attributedPath, $htmlOptions); return parent::dropDownList($model, $attribute, $data, $htmlOptions); }
public function dropDownList($model, $attribute, $data, $htmlOptions = array()) { return $this->label($model, $attribute) . parent::dropDownList($model, $attribute, $data, $htmlOptions); }