Yii 之widget
默认情况下, widget 的视图文件位于包含了widget文件的 views 子目录之下。这些视图可以通过调用 CWidget::render()渲染,这一点和控制器很相似。唯一不同的是,widget的视图没有布局文件支持。
同时,view 文件中的 $this 指的是widget 实例而不是 controller 实例。
一.创建Widget
class testWidget extends CWidget
{
public function init()
{
//当视图中执行$this->beginWidget()时候会执行这个方法
//可以在这里进行查询数据操作
}
public function run()
{
//当视图中执行$this->endWidget()的时候会执行这个方法
//可以在这里进行渲染试图的操作,注意这里提到的视图是widget的视图
//注意widget的视图是放在跟widget同级的views目录下面,例如下面的视图会放置在
// /protected/widget/test/views/test.php
$this->render('test', array(
'str'=>'WIDGET视图变量',
));
}
}
二.Widget的视图文件
views视图test.php 引用此变量数据
...
<?php echo $str;?>
....
三.在controll中的views视图中 调用Widget
如果你在/protected/widget/test/下建立了一个名为“testWidget.php”的widget。
在视图中调用需要这样写:
A.
<?php $this->widget('WidgetName'); ?>
B.
<?php $this->beginWidget('application.widget.test.testWidget'); ?>
...可能小部件需要用到这里主体内容...
<?php $this->endWidget(); ?>
C.
<?php $userId = 1; ?>
<?php $this->widget('WidgetName',array('userId'=>$userId)); ?>
参数userId自动映射到Widget类的同名属性,所以在定义Widget时,别忘记了声明该属性。
Yii 之widget的更多相关文章
- Yii 通过widget小物件生成添加表单
通过widget小物件创建添加商品的表单 视图里,表单以endWidget();?>结束 最终效果: 把表单提交过来的信息保存到数据库中去. 补充要点: 密码表单: <?php echo ...
- Yii GridView::widget
GridView::widget文档 http://demos.krajee.com/grid GridView::widget([ 'dataProvider' => $dataProvide ...
- yii框架widget和注册asset的例子
yii框架是一个基于组件的框架,这样代码的重用性就非常的高,如我们想在网站的多个地方调用编辑器,这样我们就可以自定义一个组件,来供我们调用使用 下面以Ueditor组件为例: 1.下载ueditor到 ...
- Yii widget使用
关于widgets,他们在yii中的关系如下 system.web.widgets 系统自带最基本的widget zii.widgets 是基本扩展 zii.widgets.grid 是基本扩展的重要 ...
- yii2——自定义widget
参考资料:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/ 如何使 ...
- yii 核心类classes.php详解(持续更新中...)
classes.php在yii运行的时候将被自动加载,位于yii2文件夹底下. <?php /** * Yii core class map. * * This file is automati ...
- yii2 widget示例
<?php namespace app\components; use yii\base\Widget; use yii\helpers\Html; class RctReplyWidget e ...
- Yii framework 应用总结小窍门(转)
1. Yii Framework] 如何获取当前controller的名称? 下面语句就可以获取当前控制器的名称了! Yii::app()->controller->id 2. yii 如 ...
- 【YII】Yii入门
1. 入门博客 http://blog.csdn.net/zm2714/article/category/1359776/2 2. 创建运行demo http://blog.csdn.net/zhou ...
随机推荐
- 主机安全扫描工具-- vuls
https://vuls.io/ 一. 安装 系统管理员有责任定期去检查系统的弱点和更新软件, vuls 可以提供如下功能: 通知管理员机器有安全隐患 支持本地和远程扫描(需要有 ssh 权限) 可以 ...
- java获取当前文件路径的方法
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...
- 结合 RunLoop 和 Instrument 定位卡顿
iOS 应用,丝般顺滑的理想情况就是 60FPS (对于 iPad Pro 是 240FPS),即在 16ms 之内完成一次渲染.如果找到在每次渲染花费了多久,究竟做了什么事情,那么就可以进行针对性的 ...
- 逆向工程生成的Mapper.xml以及*Example.java详解
逆向工程生成的接口中的方法详解 在我上一篇的博客中讲解了如何使用Mybayis逆向工程针对单表自动生成mapper.java.mapper.xml.实体类,今天我们先针对mapper.java接口中的 ...
- rabbitmq系列四 之路由
1.路由 在上一个的教程中,我们构建了一个简单的日志记录系统.我们能够向许多接收者广播日志消息. 在本次教程中,我们向该系统添加一些特性,比如,我只需要严重错误(erroe级别)的部分日志打印到磁盘文 ...
- Git-基本操作(图文)
场景一: 已经用git add 命令把文件加入到暂存区了,这个时候想退回怎么办? 添加文件到暂存区 :git add . 将单个文件撤回到工作区:git rm --cached [文件路径] 将目录撤 ...
- 代码阅读——十个C开源项目
1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连 ...
- Docker笔记:常用命令汇总
Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...
- sklearn 绘制roc曲线
from sklearn.metrics import roc_curve, auc import matplotlib as mpl import matplotlib.pyplot as plt ...
- jenkins自动化部署
目录 typora-copy-images-to: pic Jenkins部署文档 一.安装环境 1.CentOs下安装JDK 2.CentOS安装Maven 3.CentOS安装git 4.Cent ...