| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?php/** * Created by PhpStorm. * User:  NODELOG * Date: 16/7/15 * Time: 下午11:00 */namespace backend\widgets;use yii\helpers\ArrayHelper;use yii\base\Model;use yii\helpers\Url;class ActiveForm extends \yii\widgets\ActiveForm{    public $fieldClass = 'backend\widgets\ActiveField';    public $boxFieldClass = '\backend\widgets\BoxField';    public function init()    {        parent::init();        if (!isset($this->validationUrl)) {            if (!empty($this->action)) {                $this->validationUrl = ArrayHelper::merge((array)$this->action, ['ajax-validate' => 1]);            } else {                $this->validationUrl = Url::current(['ajax-validate' => 1]);            }        }    }    /**     * 可折叠     * @param $model     * @param $attribute     * @param array $options     * @return object     */    public function boxField($model, $attribute, $options = [])    {        $config = $this->fieldConfig;        if ($config instanceof \Closure) {            $config = call_user_func($config, $model, $attribute);        }        if (!isset($config['class'])) {            $config['class'] = $this->boxFieldClass;        }        return \Yii::createObject(ArrayHelper::merge($config, $options, [            'model' => $model,            'attribute' => $attribute,            'form' => $this,        ]));    }    /**     * 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 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. These are properties of [[ActiveField]]     * or a subclass, depending on the value of [[fieldClass]].     * @return ActiveField the created ActiveField object.     * @see fieldConfig     */    public function field($model, $attribute, $options = [])    {        return parent::field($model, $attribute, $options);    }}
 |