ITPub博客

首页 > 大数据 > Hadoop > Dede二次开发之代码篇:[2]

Dede二次开发之代码篇:[2]

Hadoop 作者:luciuse 时间:2014-03-09 12:18:00 0 删除 编辑

织梦CMS是集简单、健壮、灵活、开源几大特点的开源内容管理系统,是国内开源CMS的领先品牌,目前程序安装量已达七十万,超过六成的站点正在使用织梦CMS或基于织梦CMS核心开发.

方法/步骤

  1. 1

    2.1、common.func.php 公用函数

    获得当前的脚本网址function GetCurUrl()返回格林威治标准时间function MyDate($format='Y-m-d H:i:s',$timest=0)把全角数字转为半角function GetAlabNum($fnum)把含HTML的内容转为纯textfunction Html2Text($str,$r=0)把文本转HTMLfunction Text2Html($txt)输出Ajax头function AjaxHead()中文截取2,单字节截取模式function cn_substr($str,$slen,$startdd=0)把标准时间转为Unix时间戳function GetMkTime($dtime)获得一个 0000-00-00 00:00:00 标准格式的时间function GetDateTimeMk($mktime)获得一个 0000-00-00 标准格式的日期function GetDateMk($mktime)获得用户IPfunction GetIP()获取拼音以gbk编码为准function GetPinyin($str,$ishead=0,$isclose=1)dedecms通用消息提示框function ShowMsg($msg,$gourl,$onlymsg=0,$limittime=0)保存一个cookiefunction PutCookie($key,$value,$kptime=0,$pa="/")删除一个cookiefunction DropCookie($key)获取cookiefunction GetCookie($key)获取验证码function GetCkVdValue()过滤前台用户输入的文本内容// $rptype = 0 表示仅替换 html标记// $rptype = 1 表示替换 html标记同时去除连续空白字符// $rptype = 2 表示替换 html标记同时去除所有空白字符// $rptype = -1 表示仅替换 html危险的标记function HtmlReplace($str,$rptype=0)获得某文档的所有tagfunction GetTags($aid)过滤用于搜索的字符串function FilterSearch($keyword)处理禁用HTML但允许换行的内容function TrimMsg($msg)获取单篇文档信息function GetOneArchive($aid)

  2. 2

    2.2、dedesql.class.php 数据库类

    系统会自动载入 dedesql.class.php 文件,并用$dsql = $db = new DedeSql(false);进行初始化数据库连接,因此在工程所有文件中均不需要单独初始化这个类,可直接用 $dsql 或 $db 进行操作,为了防止错误,操作完后不必关闭数据库。常用的方法:1、执行一个非查询类型的SQL语句,如 insert 、create 、update 等$rs = $db->ExecuteNoneQuery($sql);返回值为是否执行成功。2、执行一个非查询类型的SQL语句,并返回成功记录数$rs = $db->ExecuteNoneQuery2($sql);与上面相比,它返回的是影响的记录数,而不是布尔值3、返回单个记录$arr = $db->GetOne($sql);$dsql 如果不带 limit ,系统会自动加上 limit 0,14、执行条件查询语句

    1 $db->SetQuery($dsql);   

    2 $db->Execute();   

    3 while($arr = $db->GetArray())   

    4 {   

    5 }   

     可以简化为:

    6 $db->Execute('me',$dsql);   

    7 while($arr = $db->GetArray())   

    8 {   

    9 }  

     'me' 为记录集游标,用于区分不同的查询,如:

    10 $db->Execute('me',$dsql);   

    11 while($arr = $db->GetArray())   

    12 {   

    13    $db->Execute('2',$dsql2);   

    14    while($arr2 = $db->GetArray())   

    15    {   

    16          

    17    }   

    18 }    

    像这种情况必须指定一个值区分默认的'me'参数,否则会出错$db->GetArray($rsid,$acctype) 参数$rsid="me"$acctype=MYSQL_ASSOC在查询游标中读取数据还可以用$db->GetObject($rsid="me");返回的结果是用类结构表示的值。5、获取上一个插入的自动递增主键id值$db->GetLastID();6、获得查询的总记录数$db->GetTotalRow($rsid="me")7、获得MySql的版本号$db->GetVersion($isformat=true)默认的情况下会转换成 x.xx 形式浮点数8、析放某查询的资源$db->FreeResult($rsid="me");9、在数据库中是否存在某数据表$db->IsTable($tbname)10、重新选择要操作的数据库$db->SelectDB($dbname);11、获得数据库连接标识$db->linkID获得这个连接标识后,可以直接用mysql相关函数进行数据库操作在非不得已的情况,项目中一般不使用这个变量。

  3. 3

    2.3、datalistcp.class.php 动态分页类

    类文件include/datalistcp.class.php适用范围:数据量不大的数据分页使用方法:

    1 $dl = new DataListCP();   

    2 $dl->pageSize = 25;              //设定每页显示记录数(默认25条)  

    3 $dl->SetParameter($key,$value);  //设定get字符串的变量  //这两句的顺序不能更换

    4 $dl->SetTemplate($tplfile);?//载入模板  

    5 $dl->SetSource($sql);?//设定查询SQL  

    6   

    7 $dl->Display();?//显示  模板

    8 {dede:datalist}  

    9  

  4. {field.fieldname1/} - {field.fieldname2/} ...
  5.   

    10 {/dede:datalist}  

    11   

    12 {tag:pagelist listitem="info,index,end,pre,next,pageno"  listsize="5"/}   listitem、listsize 是可选属性如果需要自定义 datalist 相关属性,可以继续本类来创建一个新类,只需改变 GetArcList($atts,$refObj='',$fields=array()) 方法即可。

    s'; C -ipY

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26172496/viewspace-1111703/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-08-15

  • 博文量
    1
  • 访问量
    1628