![点击分享此内容可以赚币 分享](/master/images/share_but.png)
DedeCMS二次开发手册.doc
《DedeCMS二次开发手册.doc》由会员分享,可在线阅读,更多相关《DedeCMS二次开发手册.doc(48页珍藏版)》请在咨信网上搜索。
1、DedeCMS V5.3二次开发手册一、模板篇1.1、主要模板文件与功能说明DedeCMS系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于DedeCMS支持自定义频道模型,用户自定义新频道模型后,还需要按该模型的字段设计一套新的模板,此外,DedeCMS也支持使用风格的形式使用模板,默认风格是 default,它表示系统默认使用 cmspath/templets/default 这个文件夹的模板,如果你下载了一套新的模板,你可以不必要删除 default 原有的文件,把下载的模板文件夹命名你想要的风格名称,如 styl
2、e2 等,然后在后台修改了默认的模板风格名称为 style2 ,那系统将使用cmspath/templets/style2 这文件当作默认模板,但是若你手工指定了栏目模板的位置,则后台参数风格的定义无效。一、概念,设计和使用模板,必须要理解下面几个概念1、板块(封面)模板:指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别ID.htm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。2、列表模板:指网站某个栏目的所有文章列表的模板,一般用 “list_识别ID.htm” 命名。
3、3、档案模板:表示文档查看页的模板,如文章模板,一般用 “article_识别ID.htm” 命名。4、其它模板:一般系统常规包含的模板有:主页模板、搜索模板、编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。二、 命名,DedeCMS模板默认命名规则如下1、模板保存位置:模板目录:cmspath /templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件2、 模板文件命名规范:()index_识别ID.htm:表示板块(栏目封面)模板;()list_识别ID.htm:表示栏目列表模板;()article_识
4、别ID.htm:表示内容查看页(文档模板,包括专题查看页);()search.htm: 搜索结果列表模板;()index.htm: 主页模板;注解:识别ID可以在“频道模型管理”的地方获得,当然,你也可以在“频道模型管理”的地方确定某个频道的模板命名。例:list_image.htm 表示是就是内容类型为图片集的栏目默认列表模板。article_article.htm 表示的是文章查看页模板。三、其它模板说明1、默认底层模板位置: cmspath/templets/system功能:在没有指定标记的默认底层模板的时候,系统将自动调用这个文件夹的相应文件作为底层模板。2、插件目录模板位置: cm
5、spath/templets/plus功能:评论、友情链接、RSS地图等模板。3、会员后台模板位置: cmspath/member/templets功能:会员后台的模板。四、二次开发在V5.3中已经将标签开发分离出来,您可以通过后台模板-标签代码管理,点击“新增加一个新的标签”来创建一个自己的标签,标签文件名为:标签名.lib.php接口函数定义为:function lib_标签名(&$ctag,&$refObj),返回值是结果字符串修改标签时为了防止出错,您也可以修改它的名称(同时修改文件名和函数名),这样等同继承了原来标签的代码建立一个新的标签。1.2、模板标签语法简介织梦的模板标签类似于
6、XML格式,所有的模板都含有定界符,默认情况下是dede:*和/dede:*,“*”代表模板标记名称。一般情况下dede:*和/dede:*是成对出现的,例如:例1-1:1 dede:arclist flag=h limit=0,1 2 field:title/ 3 field:description/.查看全文 4 /dede:arclist 上面的dede:arclist和/dede:arclist成对出现在模板文件中,并且在两个标签当中包含了底层模板(innertext)。底层模板(Innertext),底层模板实际上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。标签还有一
7、类出现形式是dede:*/,通常以这种形式出现都是输出变量、或者不含底层模板的内容。例如:1-2dede:global.cfg_webname/dede:arclist flag=h limit=0,1/如果用户没有指定单个记录的样式,系统部分标签都含有默认的底层模板,具体可以查看cmapath/templets/system/文件夹下面的文件,这里面都是系统的底层模板文件。 注释织梦标签的模板注释非常灵活,可以通过标签后面的commet属性进行赋值。例1-3:1dede:arclist flag=h limit=0,1 commet=调用头条的第一篇内容 2field:titlecommet
8、=这是文章标题标签/ 3field:description commet=这是摘要标签/.查看全文 4/dede:arclist 在模板引擎将上述标签解析为html的时候,commet的内容是被忽略掉不去解析的,用户在阅读模板标记的时候可以更好的理解标签的意义。函数每一个织梦的标签都可以使用自定义函数对其进行扩展,自定义函数内容主要用于对当前标签输出内容进行处理。例1-4:dede:标记名称function=youfunction(参数一,参数二,me)/其中 me 用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:dede:field.pubdate function=strfti
9、me(%Y-%m-%d %H:%M:%S,me)/ 属性模板标签的属性,决定了模板标记输出的形式,例如arclist标签主要功能是列出文档列表,但列出什么内容、按照什么方式进行排序等取决于模板标签的属性。在织梦的模板标签说明中含有各个模板的标签属性可以详细查阅。可以查看例1-1中的flag=h limit=0,1,这里flag和limit是标签的相关属性,通过手册可以查阅属性的介绍。如果模板标签如果没有列出属性,系统有默认属性值,用户可以参考模板标签说明查看默认属性。编程织梦模板很方便的一个地方就是支持简单的模板编程。格式为:1 dede:tagname runphp=yes 2 $aaa =
10、 me; 3 me = 123456; 4 /dede:tagname me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给me。此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。 二、 代码篇2.1、common.func.php 公用函数获得当前的脚本网址function GetCurUrl()返回格林威治标准时间function MyDate($format=Y-m-d H:i:s,$timest=0)把全角数字转为半角function GetAlabNum($fnum)把含HTML的内容
11、转为纯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
12、)获得用户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()过
13、滤前台用户输入的文本内容/ $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)获取单篇文档信息functi
14、on GetOneArchive($aid)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语句,并
15、返回成功记录数$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 为记录集游标,用于区分不同的查询
16、,如: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-GetLa
17、stID();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相关函数进行数据库操作在非不得已的情况,项目中一般不使用这个变量。2.3、datalist
18、cp.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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DedeCMS 二次开发 手册
![提示](https://www.zixin.com.cn/images/bang_tan.gif)
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。