2.0的控制器的创建和action方法的添加和1.0的基本是一样的。但我发现他的widgets 的ActiveForm和1.1版本有些不一样的地方。

对于视图基本也是一样的,有render 和 renderPartial两个方法,后一个不会调入布局。也不会自动调入jquery组件,但在设置布局上有些不一样:

1.1是在components\Controller.php里面有个$layout 的变量,通过修改这个变量的值来改变布局的。

2.0里面是没有通过在父类Controller里面配置的,有个findLayoutFile的方法,这里分析了各种情况,默认是采用的main,当然也可以像1.1那样直接写在父类里面还可以写在配置文件web.php里,'layout' => 'mine', 还可以同 layoutPath 设置布局文件的路径,如果有个别情况需要用自己的布局,可以在他的控制器里修改 $this->layout = 'mine',这样就会调用layout目录下的mine.php布局。

可以获取前台访问的路径。

$baseUrl = Yii::$app->request->baseUrl 来获取当前脚本的目录,因为此框架是单入口模式,所以就是根目录。

其中 1.1版本的时候是用 Yii::app() 来获取当前Yii实例的,2.0版本采用的事 Yii::$app 来获取当前实例。

首先是获取对象:

2.0版本里是这样的 $form = ActiveForm::begin();  而且要使用 use yii\widgets\ActiveForm;

1.1版本里是 $form = $this->beginWidget('CActiveForm')。

我在2.0版本里的widgets目录下没有找到CActiveForm.php 只有ActiveForm.php 文件。

其次是获取 表单里的对象也不一样了,比如文本框,

2.0里面是这样的 $form->field($LoginForm, 'name', ['id'=>'name']);  

1.1里面是这样的 $form->textField($loginForm, 'name', array('id'=>'name'));

看官方文档的时候发现不仅仅可以用ActiveForm可以创建form里面的元素,yii\helpers\Html 也可以创建,例如例子里就有个submit按钮就是用Html创建的。

Html::submitButton('提交', ['class'=>'btn btn-primary']);

比如要建个input 加入自己的属性的话 需要调用 textInput方法。例如。

<?php echo $form->field($model, 'username')->textInput(['id'=>'userName']); ?>

文本框:textInput();
密码框:passwordInput();
单选框:radio(),radioList();
复选框:checkbox(),checkboxList();
下拉框:dropDownList();
隐藏域:hiddenInput();
文本域:textarea(['rows'=>3]);
文件上传:fileInput();
提交按钮:submitButton();
重置按钮:resetButtun();<?php
$form = ActiveForm::begin(['action' => ['test/getpost'],'method'=>'post',]); ?><? echo $form->field($model, 'username')->textInput(['maxlength' => 20]) ?><? echo $form->field($model, 'password')->passwordInput(['maxlength' => 20]) ?><? echo $form->field($model, 'sex')->radioList(['1'=>'男','0'=>'女']) ?><? echo $form->field($model, 'edu')->dropDownList(['1'=>'大学','2'=>'高中','3'=>'初中'], ['prompt'=>'请选择','style'=>'width:120px']) ?><? echo $form->field($model, 'file')->fileInput() ?><? echo $form->field($model, 'hobby')->checkboxList(['0'=>'篮球','1'=>'足球','2'=>'羽毛球','3'=>'乒乓球']) ?><? echo $form->field($model, 'info')->textarea(['rows'=>3]) ?><? echo $form->field($model, 'userid')->hiddenInput(['value'=>3]) ?><? echo Html::submitButton('提交', ['class'=>'btn btn-primary','name' =>'submit-button']) ?><? echo Html::resetButton('重置', ['class'=>'btn btn-primary','name' =>'submit-button']) ?><?php ActiveForm::end(); ?>

但是它除了input 等标签外还会附加很多其他的标签,比如在外面套了一层div之类的。要想只要input标签,就要使用yii\helpers\Html的active系列函数生成表单。

<?php $form = ActiveForm::begin(); ?><?php echo Html::activeTextInput($model, 'username', ['id'=>'userName']); ?><?php echo Html::activePasswordInput($model, 'password', ['id'=>'psd']); ?><?php echo Html::activeTextInput($model, 'captcha', ['id'=>'verify']); ?><?php echo Html::submitInput('', ['id'=>'sub']) ?><?php ActiveForm::end();?>

转载于:https://www.cnblogs.com/wayne173/p/4369303.html

Yii框架2.0的视图和widgets表单的使用相关推荐

  1. Yii框架2.0中文权威指南 - 在线手册发布

    介绍: Yii框架2.0中文权威指南 由 小蘿蔔丁 创办,本指南发布遵循 Yii 文档使用许可 . 旨在分享Yii框架2.0中文开发文档,方便在使用Yii框架2.0的程序猿.共同学习,共同进步. Yi ...

  2. odoo10参考系列--视图二(表单视图)

    表单视图 表单视图用于从单个记录中显示数据.它们的根元素是<form>.它们由常规HTML组成,具有额外的结构和语义组件. 结构组件 结构组件提供了结构化的或很小逻辑的"视觉&q ...

  3. form表单中根据值判断是否disabled_Java 0基础入门 (Html表单、表单元素)

    上一篇:Java 0基础入门 (Html标签的使用) 表单在网页中主要负责数据采集功能. 一.表单实际应用场景 百度搜索 5173注册 如上两张图,图中的黑色线条是我画上去的,如果按照黑线,在Excl ...

  4. 一步步学习微软InfoPath2010和SP2010--第五章节--添加逻辑和规则到表单(6)--使用规则创建多视图样式向导表单

    本例中,你将处理表单,目的是捕获来自Blue Yonder员工的支持请求.这些请求需要SharePoint记录管理网站支持文档储存请求.这个表单基本完成了,你只需增加一些剩余的规则来完结它.通过添加最 ...

  5. Yii需要php版本,yii框架2.0.9版本发布了

    2.0.9版本是yii 2.0版本的次发布版,它包含了60多个新的小功能和一些bug修复. 有两个小改动可能会影响你现有的程序,所以检查一下 UPGRADE.md 文件 在这里由衷的感谢我们的yii社 ...

  6. form表单如何加css框架,如何写好CSS系列之表单(form)

    表单模块可以分为两部分:一是表单的布局,也就是规范表单元素单元的排列位置:二是表单元素,如:输入框.单选.复选.列表组件.搜索组件等,由于列表组件.搜索组件不是单纯的css组件,所以暂且没有实现. 一 ...

  7. php+yii框架,php配置yii框架(转)

    yii具有很多当今web2.0开发所需要的特性.下边是一个简短列表. ? MVC设计模式 :yii在WEB设计中采用经过验证的技术,可以较好的把显示与逻辑分离. DAO,活动记录:yii充许在对象方面 ...

  8. vue3使用的移动端UI框架,vue3.0 ui组件库

    vue 3.0 项目中 element-ui form 表单元素中 仅 el-button 显示,其他不显示,如何解决? 谷歌人工智能写作项目:小发猫 在页面中引用了laydate插件,在显示的时候, ...

  9. abap视图字段限制_在 Laravel 控制器中进行表单请求字段验证

    在 Web 应用中,用户提交的数据往往是不可预测的,因此一个非常常见的需求是对用户提交的表单请求进行验证,以确保用户输入的是我们所期望的数据格式.很多 Web 框架都对此功能专门提供了工具集,Lara ...

最新文章

  1. 十个 Linux 新手管理员易犯错误
  2. Activit流程部署、删除
  3. 进程、线程、多线程、并发、并行学习记录
  4. CSS中的BFC机制
  5. PHP二开 三语言( 中文、英语、马来语) 自动抢单系统源码
  6. 浅谈Java中的各种锁
  7. 带你掌握不同平台下,探索JDK源码所需的native方法
  8. 语音识别怎么最终识别出字?
  9. 阶段3 1.Mybatis_11.Mybatis的缓存_7 触发清空一级缓存的情况
  10. python中的snip用法_Ubuntu系统中安装SNIP
  11. 无捆绑绿色安装金山打字通教程
  12. 微信小程序弹窗(提示框和确认框)
  13. 几款优秀的文档管理系统
  14. 【报告分享】2021年中国智能运动健身行业研究报告-艾瑞咨询(附下载)
  15. DCL(数据控制语言)和TCL(事务控制语言)
  16. Apache ShardingSphere 企业行|走进中商惠民
  17. 有关B2C制造业电商企业的数字化转型思考
  18. L2-4 彩虹瓶 (25 分)-2019天梯赛全国总决赛
  19. 高通平台开发系列讲解(外设篇)BMI160介绍
  20. 网站内容与推广原来是这么回事

热门文章

  1. 数据类型,运算符和表达式03 - 零基础入门学习C语言04
  2. cache老化时间的思考--以nat为例
  3. 搜索插件(django-haystack)
  4. koa+mysql+vue+socket.io全栈开发之web api篇
  5. Python面向对象基础:设置对象属性
  6. 【区间DP】释放囚犯
  7. python3使用requests模块完成get/post/代理/自定义header/自定义Cookie
  8. 【VS开发】【DSP开发】WinDriver简介(或介绍)
  9. C#通过WMI的wind32 的API函数实现msinfo32的本地和远程计算机的系统摘要信息查看功能...
  10. iOS开发学无止境 - UICollectionView自定义布局之风火轮[译]