ImageVerifierCode 换一换
格式:DOCX , 页数:64 ,大小:44.43KB ,
资源ID:11472771      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11472771.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DedeCMS二次开发手册44页word文档.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DedeCMS二次开发手册44页word文档.docx

1、DedeCMS二次开发手册44页word文档DedeCMS V5.3二次开发手册我国古代的读书人,从上学之日起,就日诵不辍,一般在几年内就能识记几千个汉字,熟记几百篇文章,写出的诗文也是字斟句酌,琅琅上口,成为满腹经纶的文人。为什么在现代化教学的今天,我们念了十几年书的高中毕业生甚至大学生,竟提起作文就头疼,写不出像样的文章呢?吕叔湘先生早在1978年就尖锐地提出:“中小学语文教学效果差,中学语文毕业生语文水平低,十几年上课总时数是9160课时,语文是2749课时,恰好是30%,十年的时间,二千七百多课时,用来学本国语文,却是大多数不过关,岂非咄咄怪事!”寻根究底,其主要原因就是腹中无物。特别

2、是写议论文,初中水平以上的学生都知道议论文的“三要素”是论点、论据、论证,也通晓议论文的基本结构:提出问题分析问题解决问题,但真正动起笔来就犯难了。知道“是这样”,就是讲不出“为什么”。根本原因还是无“米”下“锅”。于是便翻开作文集锦之类的书大段抄起来,抄人家的名言警句,抄人家的事例,不参考作文书就很难写出像样的文章。所以,词汇贫乏、内容空洞、千篇一律便成了中学生作文的通病。要解决这个问题,不能单在布局谋篇等写作技方面下功夫,必须认识到“死记硬背”的重要性,让学生积累足够的“米”。 一、模板篇观察内容的选择,我本着先静后动,由近及远的原则,有目的、有计划的先安排与幼儿生活接近的,能理解的观察内

3、容。随机观察也是不可少的,是相当有趣的,如蜻蜓、蚯蚓、毛毛虫等,孩子一边观察,一边提问,兴趣很浓。我提供的观察对象,注意形象逼真,色彩鲜明,大小适中,引导幼儿多角度多层面地进行观察,保证每个幼儿看得到,看得清。看得清才能说得正确。在观察过程中指导。我注意帮助幼儿学习正确的观察方法,即按顺序观察和抓住事物的不同特征重点观察,观察与说话相结合,在观察中积累词汇,理解词汇,如一次我抓住时机,引导幼儿观察雷雨,雷雨前天空急剧变化,乌云密布,我问幼儿乌云是什么样子的,有的孩子说:乌云像大海的波浪。有的孩子说“乌云跑得飞快。”我加以肯定说“这是乌云滚滚。”当幼儿看到闪电时,我告诉他“这叫电光闪闪。”接着幼

4、儿听到雷声惊叫起来,我抓住时机说:“这就是雷声隆隆。”一会儿下起了大雨,我问:“雨下得怎样?”幼儿说大极了,我就舀一盆水往下一倒,作比较观察,让幼儿掌握“倾盆大雨”这个词。雨后,我又带幼儿观察晴朗的天空,朗诵自编的一首儿歌:“蓝天高,白云飘,鸟儿飞,树儿摇,太阳公公咪咪笑。”这样抓住特征见景生情,幼儿不仅印象深刻,对雷雨前后气象变化的词语学得快,记得牢,而且会应用。我还在观察的基础上,引导幼儿联想,让他们与以往学的词语、生活经验联系起来,在发展想象力中发展语言。如啄木鸟的嘴是长长的,尖尖的,硬硬的,像医生用的手术刀样,给大树开刀治病。通过联想,幼儿能够生动形象地描述观察对象。 1.1、主要模板

5、文件与功能说明要练说,得练看。看与说是统一的,看不准就难以说得好。练看,就是训练幼儿的观察能力,扩大幼儿的认知范围,让幼儿在观察事物、观察生活、观察自然的活动中,积累词汇、理解词义、发展语言。在运用观察法组织活动时,我着眼观察于观察对象的选择,着力于观察过程的指导,着重于幼儿观察能力和语言表达能力的提高。 DedeCMS系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于DedeCMS支持自定义频道模型,用户自定义新频道模型后,还需要按该模型的字段设计一套新的模板,此外,DedeCMS也支持使用风格的形式使用模板,默认风格

6、是 default,它表示系统默认使用 cmspath/templets/default 这个文件夹的模板,如果你下载了一套新的模板,你可以不必要删除 default 原有的文件,把下载的模板文件夹命名你想要的风格名称,如 style2 等,然后在后台修改了默认的模板风格名称为 style2 ,那系统将使用cmspath/templets/style2 这文件当作默认模板,但是若你手工指定了栏目模板的位置,则后台参数风格的定义无效。一、概念,设计和使用模板,必须要理解下面几个概念1、板块(封面)模板:指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别ID.htm”命名,此外

7、,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。2、列表模板:指网站某个栏目的所有文章列表的模板,一般用 “list_识别ID.htm” 命名。3、档案模板:表示文档查看页的模板,如文章模板,一般用 “article_识别ID.htm” 命名。4、其它模板:一般系统常规包含的模板有:主页模板、搜索模板、编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。二、 命名,DedeCMS模板默认命名规则如下1、模板保存位置:模板目录:cmspath /templets/样式名称(英文,默认为default,

8、其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件2、 模板文件命名规范:()index_识别ID.htm:表示板块(栏目封面)模板;()list_识别ID.htm:表示栏目列表模板;()article_识别ID.htm:表示内容查看页(文档模板,包括专题查看页);()search.htm: 搜索结果列表模板;()index.htm: 主页模板;注解:识别ID可以在“频道模型管理”的地方获得,当然,你也可以在“频道模型管理”的地方确定某个频道的模板命名。例:list_image.htm 表示是就是内容类型为图片集的栏目默认列表模板。article_article.ht

9、m 表示的是文章查看页模板。三、其它模板说明1、默认底层模板位置: cmspath/templets/system功能:在没有指定标记的默认底层模板的时候,系统将自动调用这个文件夹的相应文件作为底层模板。2、插件目录模板位置: cmspath/templets/plus功能:评论、友情链接、RSS地图等模板。3、会员后台模板位置: cmspath/member/templets功能:会员后台的模板。四、二次开发在V5.3中已经将标签开发分离出来,您可以通过后台模板-标签代码管理,点击“新增加一个新的标签”来创建一个自己的标签,标签文件名为:标签名.lib.php接口函数定义为:function

10、 lib_标签名(&$ctag,&$refObj),返回值是结果字符串修改标签时为了防止出错,您也可以修改它的名称(同时修改文件名和函数名),这样等同继承了原来标签的代码建立一个新的标签。1.2、模板标签语法简介织梦的模板标签类似于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:ar

11、clist和/dede:arclist成对出现在模板文件中,并且在两个标签当中包含了底层模板(innertext)。底层模板(Innertext),底层模板实际上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。标签还有一类出现形式是dede:*/,通常以这种形式出现都是输出变量、或者不含底层模板的内容。例如:1-2dede:global.cfg_webname/dede:arclist flag=h limit=0,1/如果用户没有指定单个记录的样式,系统部分标签都含有默认的底层模板,具体可以查看cmapath/templets/system/文件夹下面的文件,这里面都是系统的底层

12、模板文件。 注释织梦标签的模板注释非常灵活,可以通过标签后面的commet属性进行赋值。例1-3:1 dede:arclist flag=h limit=0,1 commet=调用头条的第一篇内容 2 field:titlecommet=这是文章标题标签/ 3 field:description commet=这是摘要标签/.查看全文 4 /dede:arclist 在模板引擎将上述标签解析为html的时候,commet的内容是被忽略掉不去解析的,用户在阅读模板标记的时候可以更好的理解标签的意义。函数每一个织梦的标签都可以使用自定义函数对其进行扩展,自定义函数内容主要用于对当前标签输出内容进行

13、处理。例1-4:dede:标记名称function=youfunction(参数一,参数二,me)/其中 me 用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:dede:field.pubdate function=strftime(%Y-%m-%d %H:%M:%S,me)/ 属性模板标签的属性,决定了模板标记输出的形式,例如arclist标签主要功能是列出文档列表,但列出什么内容、按照什么方式进行排序等取决于模板标签的属性。在织梦的模板标签说明中含有各个模板的标签属性可以详细查阅。可以查看例1-1中的flag=h limit=0,1,这里flag和limit是标签的相关属性,通

14、过手册可以查阅属性的介绍。如果模板标签如果没有列出属性,系统有默认属性值,用户可以参考模板标签说明查看默认属性。编程织梦模板很方便的一个地方就是支持简单的模板编程。格式为:1 dede:tagname runphp=yes 2 $aaa = me; 3 me = 123456; 4 /dede:tagname me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给me。此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。 2、代码篇2.1、common.func.php 公用函数获得当前的脚本网址f

15、unction 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(

16、$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,

17、$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)获得某文档的所

18、有tagfunction GetTags($aid)过滤用于搜索的字符串function FilterSearch($keyword)处理禁用HTML但允许换行的内容function TrimMsg($msg)获取单篇文档信息function GetOneArchive($aid)2.2、dedesql.class.php 数据库类系统会自动载入 dedesql.class.php 文件,并用$dsql = $db = new DedeSql(false);进行初始化数据库连接,因此在工程所有文件中均不需要单独初始化这个类,可直接用 $dsql 或 $db 进行操作,为了防止错误,操作完后不必

19、关闭数据库。常用的方法: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();

20、 3 while($arr = $db-GetArray() 可以简化为:4 $db-Execute(me,$dsql); 5 while($arr = $db-GetArray() me 为记录集游标,用于区分不同的查询,如:6 $db-Execute(me,$dsql); 7 while($arr = $db-GetArray() 8 $db-Execute(2,$dsql2); 9 while($arr2 = $db-GetArray() 像这种情况必须指定一个值区分默认的me参数,否则会出错$db-GetArray($rsid,$acctype) 参数$rsid=me$acctype=

21、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($dbn

22、ame);11、获得数据库连接标识$db-linkID获得这个连接标识后,可以直接用mysql相关函数进行数据库操作在非不得已的情况,项目中一般不使用这个变量。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-SetTemplat

23、e($tplfile);?/载入模板 5 $dl-SetSource($sql);?/设定查询SQL 6 $dl-Display();?/显示 模板7 dede:datalist 8 field.fieldname1/ - field.fieldname2/ . 9 /dede:datalist 10 11 tag:pagelist listitem=info,index,end,pre,next,pageno listsize=5/ listitem、listsize 是可选属性如果需要自定义 datalist 相关属性,可以继续本类来创建一个新类,只需改变 GetArcList($atts

24、,$refObj=,$fields=array() 方法即可。2.4、dedetag.class.php 静态模板类类文件include/dedetag.class.php这个文件是dedecms V5.3及之前版本使用的主要的模板类,它是解析式模板类,并非编译式的(区别是前者通过获得标签位置进行内容替换,后者是直接解析式PHP代码,二次执行)一、模板语法织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。1、织梦模板

25、引擎的代码样式有如下几种形式:dede:标记名称 属性=值/dede:标记名称 属性=值/dede:标记名称dede:标记名称 属性=值自定义样式模板(InnerText)/dede:标记名称提示:如果使用带底层模板的标记,必须严格用dede:标记名称 属性=值/dede:标记名称 这种格式,否则会报错。2、织梦模板引擎内置有多个系统标记,这些系统标记在任何场合都是能直接使用的。(1) global 标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:dede:global name=变量名称/dede:global或dede:global name=变量名称/其

26、中变量名称不能加 $ 符号,如变量 $cfg_cmspath ,应该写成 dede:global name=cfg_cmspath/ 。(2) foreach 用来输出一个数组,形式为:dede:foreach array=数组名称field:key/ field:value/dede:foreach(3) include 引入一个文件,形式为:dede:include file=文件名称 ismake=是否为dede板块模板(yes/no)/对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录3、织梦标记允许在任何标记中使用函数对得到的值进行处理,形式为

27、:dede:标记名称 属性=值 function=youfunction(参数一,参数二,me)/其中 me 用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:dede:field name=pubdate function=strftime(%Y-%m-%d %H:%M:%S,me)/4、织梦标记允许有限的编程扩展。格式为:dede:tagname runphp=yes$aaa = me;me = 123456;/dede:tagnameme 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给me。此外由于程序代码占用了底层模板InnerTe

28、xt的内容,因此需编程的标记只能使用默认的InnerText。二、解析方式在 dedetag.class.php 里面有四个类class DedeAttribute 属性结构表述class DedeAttributeParse 属性解析器class DedeTag 标签结构表述class DedeTagParse 标签解析器使用解析类解析模板时一般经过下面的步骤1、初始化:$dtp = new DedeTagParse();2、载入模板/模板字符串:$dtp-LoadTemplate(模板文件(绝对路径)); /会生成缓存,第二次不需解析模板或$dtp-LoadSource(字符串);3、给标

29、签赋值foreach($dtp-CTags as $tid=$ctag) /判断ctag的名称和属性,并给赋不同的值,通常用函数处理 if($ctag-GetName=mytag) $dtp-Assign($tid, mytagvalue($ctag) ); 在上面例子中,直接把名称为 mytag的标签转交给 mytagvalue 函数处理,mytagvalue 里判断$ctag的各个属性,返回不同内容即可。在 V5.3版本中,通常除了field、list等专用标签之外,凡arc.*开头的类解析的文件,标签都是对应该 include/taglib 的源码的,这个由系统进行了自动的映射。4、显示或保存为HTML$dtp-display();或$dtp-SaveTo(静态文件名);对于二次开发人员而言,不大需要知道dedecms模板具体解析方式,不过应该十分清楚CTag这个类的结构,从而判断标签不同属性进行处理。1 class DedeTag 2 var $IsReplace=FALSE; /标记是否已

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1