Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

55 Zeilen
1.3 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wangxj
  5. * Date: 2017/05/16
  6. * Time: 16:26
  7. */
  8. namespace common\components;
  9. use Yii;
  10. use yii\widgets\ActiveForm;
  11. use yii\helpers\ArrayHelper;
  12. class zActiveForm extends ActiveForm
  13. {
  14. const FIELD_INPUT = 1;
  15. public $fieldClass = 'common\components\zActiveField';
  16. /**
  17. * User: wangxj
  18. *
  19. * 重写函数作用 field
  20. *
  21. * @param \yii\base\Model $model
  22. * @param string $attribute
  23. * @param array $options
  24. * @return zActiveField the created ActiveField object.
  25. */
  26. public function field($model, $attribute, $options = [])
  27. {
  28. $config = $this->fieldConfig;
  29. if ($config instanceof \Closure) {
  30. $config = call_user_func($config, $model, $attribute);
  31. }
  32. if (!isset($config['class'])) {
  33. $config['class'] = $this->fieldClass;
  34. }
  35. return Yii::createObject(ArrayHelper::merge($config, $options, [
  36. 'model' => $model,
  37. 'attribute' => $attribute,
  38. 'form' => $this,
  39. ]));
  40. }
  41. // public function endField()
  42. // {
  43. // $field = array_pop($this->_fields);
  44. // if ($field instanceof zActiveField) {
  45. // return $field->end();
  46. // } else {
  47. // throw new InvalidCallException('Mismatching endField() call.');
  48. // }
  49. // }
  50. }