diff --git a/apps/advanced/backend/views/site/login.php b/apps/advanced/backend/views/site/login.php index 0e2b8c6..ea9f456 100644 --- a/apps/advanced/backend/views/site/login.php +++ b/apps/advanced/backend/views/site/login.php @@ -14,13 +14,10 @@ $this->params['breadcrumbs'][] = $this->title;

Please fill out the following fields to login:

- $model, - 'options' => array('class' => 'form-horizontal'), -)); ?> - field('username')->textInput(); ?> - field('password')->passwordInput(); ?> - field('rememberMe')->checkbox(); ?> + array('class' => 'form-horizontal'))); ?> + field($model, 'username')->textInput(); ?> + field($model, 'password')->passwordInput(); ?> + field($model, 'rememberMe')->checkbox(); ?>
'btn btn-primary')); ?>
diff --git a/apps/advanced/frontend/views/site/contact.php b/apps/advanced/frontend/views/site/contact.php index 951eaa6..41e87db 100644 --- a/apps/advanced/frontend/views/site/contact.php +++ b/apps/advanced/frontend/views/site/contact.php @@ -24,15 +24,14 @@ $this->params['breadcrumbs'][] = $this->title;

$model, 'options' => array('class' => 'form-horizontal'), 'fieldConfig' => array('inputOptions' => array('class' => 'input-xlarge')), )); ?> - field('name')->textInput(); ?> - field('email')->textInput(); ?> - field('subject')->textInput(); ?> - field('body')->textArea(array('rows' => 6)); ?> - field('verifyCode')->widget(Captcha::className(), array( + field($model, 'name')->textInput(); ?> + field($model, 'email')->textInput(); ?> + field($model, 'subject')->textInput(); ?> + field($model, 'body')->textArea(array('rows' => 6)); ?> + field($model, 'verifyCode')->widget(Captcha::className(), array( 'options' => array('class' => 'input-medium'), )); ?>
diff --git a/apps/advanced/frontend/views/site/login.php b/apps/advanced/frontend/views/site/login.php index 0e2b8c6..ea9f456 100644 --- a/apps/advanced/frontend/views/site/login.php +++ b/apps/advanced/frontend/views/site/login.php @@ -14,13 +14,10 @@ $this->params['breadcrumbs'][] = $this->title;

Please fill out the following fields to login:

- $model, - 'options' => array('class' => 'form-horizontal'), -)); ?> - field('username')->textInput(); ?> - field('password')->passwordInput(); ?> - field('rememberMe')->checkbox(); ?> + array('class' => 'form-horizontal'))); ?> + field($model, 'username')->textInput(); ?> + field($model, 'password')->passwordInput(); ?> + field($model, 'rememberMe')->checkbox(); ?>
'btn btn-primary')); ?>
diff --git a/apps/basic/views/site/contact.php b/apps/basic/views/site/contact.php index 951eaa6..41e87db 100644 --- a/apps/basic/views/site/contact.php +++ b/apps/basic/views/site/contact.php @@ -24,15 +24,14 @@ $this->params['breadcrumbs'][] = $this->title;

$model, 'options' => array('class' => 'form-horizontal'), 'fieldConfig' => array('inputOptions' => array('class' => 'input-xlarge')), )); ?> - field('name')->textInput(); ?> - field('email')->textInput(); ?> - field('subject')->textInput(); ?> - field('body')->textArea(array('rows' => 6)); ?> - field('verifyCode')->widget(Captcha::className(), array( + field($model, 'name')->textInput(); ?> + field($model, 'email')->textInput(); ?> + field($model, 'subject')->textInput(); ?> + field($model, 'body')->textArea(array('rows' => 6)); ?> + field($model, 'verifyCode')->widget(Captcha::className(), array( 'options' => array('class' => 'input-medium'), )); ?>
diff --git a/apps/basic/views/site/login.php b/apps/basic/views/site/login.php index 0e2b8c6..ea9f456 100644 --- a/apps/basic/views/site/login.php +++ b/apps/basic/views/site/login.php @@ -14,13 +14,10 @@ $this->params['breadcrumbs'][] = $this->title;

Please fill out the following fields to login:

- $model, - 'options' => array('class' => 'form-horizontal'), -)); ?> - field('username')->textInput(); ?> - field('password')->passwordInput(); ?> - field('rememberMe')->checkbox(); ?> + array('class' => 'form-horizontal'))); ?> + field($model, 'username')->textInput(); ?> + field($model, 'password')->passwordInput(); ?> + field($model, 'rememberMe')->checkbox(); ?>
'btn btn-primary')); ?>
diff --git a/docs/guide/upgrade-from-v1.md b/docs/guide/upgrade-from-v1.md index bd20b91..ebfe94b 100644 --- a/docs/guide/upgrade-from-v1.md +++ b/docs/guide/upgrade-from-v1.md @@ -327,9 +327,9 @@ is a container consisting of a label, an input, and an error message. It is repr as an `ActiveField` object. Using fields, you can build a form more cleanly than before: ```php - $model)); ?> - field('username')->textInput(); ?> - field('password')->passwordInput(); ?> + + field($model, 'username')->textInput(); ?> + field($model, 'password')->passwordInput(); ?>
diff --git a/framework/yii/widgets/ActiveForm.php b/framework/yii/widgets/ActiveForm.php index 117c1a9..eb14293 100644 --- a/framework/yii/widgets/ActiveForm.php +++ b/framework/yii/widgets/ActiveForm.php @@ -8,7 +8,6 @@ namespace yii\widgets; use Yii; -use yii\base\InvalidConfigException; use yii\base\Widget; use yii\base\Model; use yii\helpers\Html; @@ -32,12 +31,6 @@ class ActiveForm extends Widget */ public $method = 'post'; /** - * @var Model the model associated with this form. This property must be set if you call [[field()]] - * to create input fields. If a form is associated with multiple models, this property is not needed - * and you should use [[mfield()]] to create input fields. - */ - public $model; - /** * @var array the HTML attributes (name-value pairs) for the form tag. * The values will be HTML-encoded using [[Html::encode()]]. * If a value is null, the corresponding attribute will not be rendered. @@ -215,50 +208,17 @@ class ActiveForm extends Widget } /** - * Generates a form field using [[model]] and the specified attribute. - * + * Generates a form field. * A form field is associated with a model and an attribute. It contains a label, an input and an error message - * and uses them to interact with end users to collect their input for the attribute. - * - * This method is mainly used for a form with a single model. - * - * @param string $attribute the attribute name or expression. See [[Html::getAttributeName()]] for the format - * about attribute expression. - * @param array $options the additional configurations for the field object - * @return ActiveField the created ActiveField object - * @throws InvalidConfigException if [[model]] is not specified - * @see fieldConfig - * @see mfield - */ - public function field($attribute, $options = array()) - { - if (!$this->model instanceof Model) { - throw new InvalidConfigException('The "model" property must be set.'); - } - return Yii::createObject(array_merge($this->fieldConfig, $options, array( - 'model' => $this->model, - 'attribute' => $attribute, - 'form' => $this, - ))); - } - - /** - * Generates a form field using the specified model and attribute. - * - * This method differs from [[field()]] in that the model is passed as a parameter rather than obtained - * from [[model]]. - * - * This method is mainly used for a form with multiple models. - * + * and use them to interact with end users to collect their inputs for the attribute. * @param Model $model the data model * @param string $attribute the attribute name or expression. See [[Html::getAttributeName()]] for the format * about attribute expression. * @param array $options the additional configurations for the field object * @return ActiveField the created ActiveField object * @see fieldConfig - * @see field */ - public function mfield($model, $attribute, $options = array()) + public function field($model, $attribute, $options = array()) { return Yii::createObject(array_merge($this->fieldConfig, $options, array( 'model' => $model,