使用zii.widgets.CDetailView显示内容
Yii里的CDetailView可以用来显示详细内容,有时会遇到显示的html内容是被转义过的,也就是原本是要显示html样式的,结果显示出来的内容却是把html当作普通文本了。
先看一个CDetailView的典型应用:
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'title', // title attribute (in plain text)
'owner.name', // an attribute of the related object "owner"
'description:html', // description attribute in HTML
array( // related city displayed as a link
'label'=>'City',
'type'=>'raw',
'value'=>CHtml::link(CHtml::encode($model->city->name),
array('city/view','id'=>$model->city->id)),
),
),
));
这里的attributes,详列视图中要显示的一系列属性。 每个数组元素代表显示一个特定的属性规范。
一个属性可以被指定为array的格式来定义元素,也可以是一个字符串,使用格式"Name:Type:Label"。 "Type"和"Label"是可选的。
"Name" 表示属性名称,可以是一个属性(e.g. "title") 或者是一个属性的属性 (e.g. "owner.username").
"Label" 表示显示的字符串. 如果不指定"Label", 将会直接显示"Name"的值.
"Type" 代表属性的显示形式. 这个参数决定了属性值以什么形式格式化并显示. 如果不指定,默认值是'text'.
"Type" 如:"Type" 设置为 "xyz" 则表示有CFormatter类的"formatXyz"这个函数会被格式化器调用。可以取值CFormatter可用的raw,text,ntext,html,date,time,datetime,boolean,number,email,image,url
值。
目前CFormatter可用的值列表详述如下:
raw: 不处理,原文直接输出.
text: 将文本htmlencode编码后输出.
ntext: 将文本htmlencode编码,并将换行符(\n)同时编码成<br />.
html: 将文本作为html输出,即富文本输出.
date: 格式化日期.
time: 格式化时间.
datetime: 格式化日期时间.
boolean: 格式化为布尔值.
number: 格式化为数字.
email: 格式成email的link,可以直接点击的那种.
image: 作为图片输出,属性值处理作为<img>标签src的值.
url: 处理成链接,输出.
这里的image是将属性值直接赋值给<img>的src,如果需要加其它前缀,很不方便,我扩展了这个功能,增加了一个wimage函数:
加到这个文件里,/framework/utils/CFormatter.php, 一般来说不建议直接修改框架 :)
public function formatWimage($value)
{
$pre = 'http://img.wangxing.com/';
return CHtml::image($pre .$value);
}
这样就可以自动增加带http的前缀了。
使用zii.widgets.CDetailView显示内容的更多相关文章
- Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示
相关类手册: http://www.yiichina.com/api/CButtonColumn buttons 属性 public array $buttons; the configurati ...
- content内网,会显示内容,没有内容可地址存在就是这个情况
漏洞地址:http://note.youdao.com/memory/?url=http://www.wooyun.org(如需登录,请注册登录) 正文预览的地方会读取URL地址的<meta n ...
- javascript学习内容--改变样式、取消设置、显示内容、隐藏内容
<head> <style> body{font-size:12px;} #txt{ height:400px; width:600px; border:#333 solid ...
- 【转】shell脚本中echo显示内容带颜色
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e.格式如下: echo -e "\033[41;36m something here \033[0m&qu ...
- dede顶级栏目直接显示内容
点击网站栏目管理,增加顶级栏目 在弹出的增加窗口中,填上栏目名称,其它的如果没有特殊的要求可直接默认 点击常规选项旁边的高级选项,并且在列表模板中,将其改一个文件名,这个文件名就是后面需要使用到的文件 ...
- 将CMD内的显示内容输出到txt文件
将CMD内的显示内容输出到txt文件 xxxx -t >c:\test.txt //xxxx为命令 如ping www.baidu.com //-t >c:\test.tx ...
- 两层Fragment嵌套,外层Fragment切换时内层Fragment不显示内容
尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/46847269 需求 在搭界面有这么样一个需求:须要两层的Frag ...
- shell脚本中echo显示内容带颜色
转自:http://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要 ...
- jQuery:实现图片按需加载的方法,当要显示内容的高度超过了页面的高度,按需加载,根据滚动条的位置来判断页面显示的内容
实现图片按需加载的方法,当要显示内容的高度超过了页面的高度,按需加载,根据滚动条的位置来判断页面显示的内容 这个类似于京东或淘宝页面,根绝页面的滚动,显示下面的内容 如下图所示,一开始并不是所有的图片 ...
随机推荐
- 学习笔记-echarts自定义背景图片
困扰我已久的问题就解决了. code: //使用canvas把背景添加到echarts里 var img = new Image();var canvas = document.createEleme ...
- Codeforces Beta Round #2 A,B,C
A. Winner time limit per test:1 second memory limit per test:64 megabytes input:standard input outpu ...
- 【Java学习笔记之四】java进制转化
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...
- 我的第二个网页制作:p,hn,br标签的使用
<html> <head> <title>这是我的第二个html代码</title> <body> <!-- <p>Hel ...
- stl总结精简版
STL 精简版 vetor #include<vector> #include<cstdio> #include<algorithm> #include<io ...
- c++(快速排序)
快速排序是编程中经常使用到的一种排序方法.可是很多朋友对快速排序有畏难情绪,认为快速排序使用到了递归,是一种非常复杂的程序,其实未必如此.只要我们使用好了方法,就可以自己实现快速排序. 首先,我们复习 ...
- 使用 SVG 和 JS 创建一个由星形变心形的动画
序言:首先,这是一篇学习 SVG 及 JS 动画不可多得的优秀文章.我非常喜欢 Ana Tudor 写的教程.在她的教程中有大量使用 SVG 制作的图解以及实时交互 DEMO,可以说教程的所有细枝末节 ...
- 使用Redis和jackson操作json中遇到的坑
前言(可以略过) 最近在开发一个智能电表的管理系统,与常规的面向业务的系统不同.智能电表特点是每30分钟会向服务器发一次请求,报道自己目前的电表情况.然后服务器根据电表情况统计此电表的电量使用情况,包 ...
- git学习四:eclipse使用git提交项目
支持原创:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程githu ...
- [国嵌攻略][158][SPI裸机驱动设计]
SPI控制器工作流程 SPI控制器提供2个SPI接口.每个SPI接口有两个通道,分别为TX通道和RX通道.CPU要写数据到FIFO中,先写数据到SPI_TX_DATA寄存器中,这样此寄存器中的内容就会 ...