YII2笔记之三
activeform布局
findAll等不能满足where, order by, limit,底层调用了findByCondition
col-md col-lg的使用
view的方法,前三个常用
render 把变量传递给页面,页面结果作为content变量传递给布局文件
renderPartial 只生成view文件,不使用布局文件
renderAjax
renderContent 将变量传递到布局文件
renderFile 编译php或其他文件
renderPartial和renderContent相结合等于render
文件路径指定方式:别名@app完整路径,//当前app起路径,/当前module的views起路径,viewcontextinterface返回的view(只有view名字如about,此种居多),getViewFile上次render使用的view文件目录(两次连续使用render,render的页面中再使用render)
controller的render实际调用了view的render函数,view的render不用调用布局文件
view中注册css等:css等在文件开头,js有POS_HEAD(head结束标签前),POS_BEGIN(body开始标签后),POS_END(body结束标签前),POS_LOAD(JQuery标签中),
POS_READY几种;文件先后顺序
$this->registerMetaTag()
$this->registerLinkTag($options)
$this->registerCss($css)代码
$this->registerCssFile($url)文件
$this->registerJs($js)
$this->registerJsFile($url)
asset bundle
生成顺序:meta link css js
css、js文件 的depends
controller定义了布局变量$layout
module里面定义了布局变量$layout
先查看当前controller里面有没有定义布局变量,没有则查找所在module里面定义的布局变量,还没有则查找父级module定义的布局变量
指定布局文件:false(不使用),null(用module中的),字符串(指定文件,别名方式、/开头、当前module中定义的)
布局文件的结果可以继续传递给另一个布局文件(beginContent)
向布局文件传递多个变量(yii本身只能传递一个)
view中,lulucms/widgets/InhritLayout
$this->beginBlock('content1')
....
$this->endBlock()
$this->beginBlock('content2')
....
$this->endBlock()
布局文件就可以使用变量$content1、$content2显示他们中间的内容
controller传递变量方式:
1 render时一并传入:render("about",['var'=>'value'])
2 赋值给view对象
$view=\Yii::$app->getView()
$view->params['var']='value'
3 view对象中
$context = $this->context;
context即为controller,布局文件中也可以
widget中context为view
YII2笔记之三的更多相关文章
- 《C#图解教程》读书笔记之三:方法
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头—指定方法的特征,方法体—可执行代码的语句序列: (2)方法的调用:参 ...
- sc7731 Android 5.1 LCD驱动简明笔记之三
此篇笔记基于sc7731 - android 5.1,对lcd的gralloc库做一个简明笔记. 第一部分 调用gralloc.sc8830.so所谓的Gralloc模块,它就是一个模块,一个操作ke ...
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- 《深入实践Spring Boot》阅读笔记之三:核心技术源代码分析
刚关注的朋友,可以回顾前两篇文章: 基础应用开发 分布式应用开发 上篇文章总结了<深入实践Spring Boot>的第二部分,本篇文章总结第三部分,也是最后一部分.这部分主要讲解核心技术的 ...
- 【Visual C++】游戏编程学习笔记之三:游戏循环的使用
本系列文章由@二货梦想家张程 所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44208419 作者:Zee ...
- 《C++标准程序库》笔记之三
本篇博客笔记顺序大体按照<C++标准程序库(第1版)>各章节顺序编排. ---------------------------------------------------------- ...
- yii2 笔记(1)
1.js文件加载顺序问题 在视图中引用js文件的时候,使用到jquery会报错,因为自定义的js文件在jquery之前被引入了. 由于jquery,bootstrap是在AppAsset中全局引入的, ...
- Kinect开发笔记之三Kinect开发环境配置具体解释
0.前言: 首先说一下我的开发环境,Visual Studio是2013的,系统是win8的64位版本号,SDK是Kinect for windows SDK 1.8版本 ...
- 学习笔记之三十年软件开发之路 - Things I Learnt The Hard Way (in 30 Years of Software Development)
三十年软件开发之路 https://mp.weixin.qq.com/s/EgN-9bIHonRid1DM0csQDw https://blog.juliobiason.net/thoughts/th ...
随机推荐
- Introduction to Mathematical Thinking - Week 7
Q: Why did nineteenth century mathematicians devote time to the proof of self-evident results? Selec ...
- 洛谷 P1640 [SCOI2010]连续攻击问题
洛谷 一句话题意: 每个武器有两种属性,每种武器只能选择一种属性,从属性1连续递增才算攻击,求最大连续攻击次数. 因为同学告诉我这是二分图最大匹配,自然就往那个方向去想. 那么怎么建图呢? 每个武器只 ...
- 我的Android进阶之旅------>Android中adb install 安装错误常见列表
adb的安装过程分为传输与安装两步. 在出错后,adb会报告错误信息,但是信息可能只是一个代号,需要自己定位分析出错的原因. 下面是从网上找到的几种常见的错误及解决方法: 1.INSTALL_FAIL ...
- ubuntu 安装Nodejs
ubuntu 安装Nodejs 1.在软件管理器里面安装nodejs2.由于版本很老,所以需要更新版本:先安装npm , sudo apt install npm然后用npm安装 n 命令,更新nod ...
- Wicket:一种构建和测试动态 Web 页面的简化框架
https://www.ibm.com/developerworks/cn/web/wa-aj-wicket/
- c# 获取网页源代码(支持cookie),最简单代码
/// /// 获取网页源码 public static string GetHtmls(string url, string referer = "", string cooki ...
- (扫盲)WebSocket 教程
原文地址:http://www.ruanyifeng.com/blog/2017/05/websocket.html WebSocket 是一种网络通信协议,很多高级功能都需要它. 本文介绍 WebS ...
- FSR薄膜压力传感器使用教程
FSR薄膜压力传感器教程 本店常用的外形有2种: 圆形: 长条形: 如果用单片机控制建议买带转换的,可以直接接单片机AD口或者数字IO去读取数值: 电压输出的AO接口是模拟量输出,可以接单片机的模拟口 ...
- 字符编码 and 字节和字符串转换(待补充)
ascii用一个字节(8位二进制)代表一个字符 Unicode常用2个字节(16位二进制)代表一个字符,生僻字需要用四个字节 汉字中已经超出了ASCII编码的范围,用Unicode, Unicode兼 ...
- Protobuf支持 pointf
Protobuf支持 pointf序列化 加入:ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(System.Drawing.PointF), fa ...