zoukankan      html  css  js  c++  java
  • 使用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编码,并将换行符( )同时编码成<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的前缀了。

  • 相关阅读:
    Cenots6.5 安装 Intel I219-V 网卡驱动
    nginx的安装
    NGINX 简介
    HTTP 并发响应模型
    日志相关的服务器参数详解:
    使用mysqlbinlog提取二进制日志(zz)
    浅谈mysql日志
    mysql DDL&DML 语言
    fastcgi与cgi的区别(zz)
    基于rancher部署Spring-cloud微服务系统
  • 原文地址:https://www.cnblogs.com/yjken/p/3794841.html
Copyright © 2011-2022 走看看