最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Yii表单生成器不依赖Model
时间:2022-06-25 00:58:56 编辑:袖梨 来源:一聚教程网
我也不知道标题该怎么写才能描述我要说明的问题,意思就是可以放Yii的表单生成器功能更加灵活。
默认的Yii的表单生成器只需要这样就可以了:
| 代码如下 | 复制代码 |
|
1 $form = new CForm('application.views.site.loginForm', $model); |
|
这里的application.views.site.loginForm也可以是配置数组。但是如果$model参数不传的话是会报错的:Fatal error: Call to a member function isAttributeSafe()
比如我要生成一个组表单,但是我不想依赖于model,根据配置就可以生成一组表单该怎么办,
默认生成的表单的label是根据$model->attributes来显示的,所以我做了2件事:
1.继承CFormInputElement覆盖renderLabel方法,将label显示成自己配置的element的label
2.继承CForm覆盖renderElement方法,$element instanceof UCFormInputElement,并覆盖render方法,将Elements和getButtons循环输出
直接上代码:
app/protected/extensions/UCForm.php
| 代码如下 | 复制代码 |
|
/** public function render() foreach ($this->getElements() as $element) foreach ($this->getButtons() as $button) $output .= $this->renderEnd(); public function renderElement($element) else return " n" . $element->render() . " n";} else if ($element instanceof CFormButtonElement) return $element->render() . "n"; else return $element->render(); } return ''; } } |
|
再来个简单的调用示例:
| 代码如下 | 复制代码 |
|
/** public function actionIndex() $model = new CFormModel(); } |
|
相关文章
- 巨量百应官网登录入口-巨量百应官网直达网址 02-14
- 浏览器网页版入口直达-主流浏览器官网在线版一键访问 02-14
- 歪歪漫画秋蝉最新入口-秋蝉漫画免费下拉式阅读官网 02-14
- siliconflow官网登录-硅基流动官方入口网址 02-14
- 樱花动漫软件下载安装免费最新版-樱花动漫官方APP正版下载入口安卓版 02-14
- 免费视频bgm大全软件下载-免费视频bgm软件大全 02-14