qiangren 2008-2-22 16:20
2.26 (周二) DEDECMS系统应用技巧
时间:星期二 2.26 日 14:00-16:00
主题 :DEDECMS系统应用技巧
QQ 群:40702240
主讲人: [color=red][b]dedecms创始人柏拉图[/b][/color] 主讲
[url=http://news.csdn.net/n/20070530/104711.html]http://news.csdn.net/n/20070530/104711.html[/url] 专访“IT柏拉图”:让全世界都看到中国开源CMS!
主讲内容:
DEDECMS系统应用技巧
______
讲座规则:
1 在主讲人讲座的时候,因为qq群内人比较多,所以请勿插话。打断,询问 。
2 在讲座过程中,一般关闭qq群加人信息。所以讲座,请及时提前一点加群。
3 讲座的后一半时间是 讨论,交流时间。 请将问题,轮流提出。 同时 因为我们是草根站长群,主讲人并不能面面俱到,也希望更多站长,相互补充完善。
4 讲座完毕后一小时,我们解散qq群,为下次讲座留空。请及时备份你的资料。
我们每天举行一次 qq群讲座,
[url=http://bbs.admin5.com/forum-165-1.html]http://bbs.admin5.com/forum-165-1.html[/url]
请各位相互宣传一下
诚征更多主讲人, 诚征更多主讲话题。 有准备做主讲人的联系qq:316290906 安排时间和主题。
主讲如下:
[font=宋体][font=宋体]如果方便的,都把[/font][font=Times New Roman]QQ[/font][font=宋体]群的窗口开为全屏,那本来我今天是要全面讲述[/font][font=Times New Roman]dede[/font][font=宋体]一些中级应用的问题的,不过恐怕时间有限,只能讲一部份,所以大家在我没发问的时候尽量安静一点[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]DedeCms[/font][font=宋体]是什么,这里我就不多说了,因为会在这里听[/font][font=Times New Roman]DedeCms[/font][font=宋体]使用技巧的应该都明白它是什么东西了,大家在网上搜索某些资料,可能一不小心进去的某个站就是用[/font][font=Times New Roman]DedeCms[/font][font=宋体]开发的。[/font]
[font=Times New Roman] [/font]
[font=宋体]由于这个讲座是中级教程,因此太基本的的东西我就不讲了,那么由于不少人对安装[/font][font=Times New Roman]Dedecms[/font][font=宋体]的环境是有些问题的,我在这里说一下[/font]
[font=Times New Roman] [/font]
[font=宋体]在[/font][font=Times New Roman]DedeCms V5[/font][font=宋体]之前的版本安装很简单,同意使用协议后,填写一些基本资料后,点击安装就能马上完成安装,在[/font][font=Times New Roman]V5[/font][font=宋体]版本中,还有一个比较完善的系统环境检查的页面,如果你们用的是[/font][font=Times New Roman]windows[/font][font=宋体]主机,一般默认配置下安装[/font][font=Times New Roman]DedeCms[/font][font=宋体]就很简单的完成了[/font]
[font=Times New Roman] [/font]
[font=宋体]安装时出现问题的,一般是如下两点导致:[/font]
[font=Times New Roman](1) [/font][font=宋体]在[/font][font=Times New Roman] Windows [/font][font=宋体]环境中,基本上什么都不用管,知道[/font][font=Times New Roman]MySQL[/font][font=宋体]数据库的用户名、密码即可,如果是虚拟主机的,需要指定数据库名。至于可能出现的安全模式警告,在[/font][font=Times New Roman]Win[/font][font=宋体]主机是可以忽略的。[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]
(2) Linux/UNIX[/font][font=宋体]:很多人都抱怨[/font][font=Times New Roman]Dedecms[/font][font=宋体]在[/font][font=Times New Roman] Linux [/font][font=宋体]系统中存在不兼容,其实主要是大家对[/font][font=Times New Roman]Linux[/font][font=宋体]不理解所造成的,特别是[/font][font=Times New Roman]DedeCmsV5[/font][font=宋体],模块是可选的,而如目录权限不适合,在[/font][font=Times New Roman]Linux[/font][font=宋体]中可能引发很多错误。[/font]
[font=Times New Roman] [/font]
[font=宋体]在[/font][font=Times New Roman] Linux [/font][font=宋体]系统中,主要需要注意的问题如下:[/font]
[font=Times New Roman]A[/font][font=宋体]、安全模式的空间,在[/font][font=Times New Roman] Dedecms V4[/font][font=宋体]中,曾经尝试过使用[/font][font=Times New Roman]FTP[/font][font=宋体]模式创建目录解决在[/font][font=Times New Roman] Linux [/font][font=宋体]安全模式的问题,不过后来发现,很多地方是不可行的,而且处理过于复杂,所以在新版中很多地方都没考虑此问题,简单的来说就是在[/font][font=Times New Roman]DedeCms[/font][font=宋体]是不支持在[/font][font=Times New Roman]Linux[/font][font=宋体]中使用安全模式的空间的。[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]B[/font][font=宋体]、关于目录权限,[/font][font=Times New Roman]DedeCms V5[/font][font=宋体]默认的操作目录的权限是[/font][font=Times New Roman] 0755[/font][font=宋体],这个值是固定的,使用这个值的原因是大多数虚拟主机默认都是这个权限,要修改它必须安装前在[/font][font=Times New Roman] install/config_base.php [/font][font=宋体]中更改(搜索[/font][font=Times New Roman] $cfg_dir_purview = 0755; [/font][font=宋体]),对于安装时创建模块文件失败的用户,可以尝试一下自己的空间是否支持[/font][font=Times New Roman] 0766[/font][font=宋体]、[/font][font=Times New Roman]0666 [/font][font=宋体]这两种权限,此外还必须注意的是,网站的根目录是必须赋以[/font][font=Times New Roman] 0755 [/font][font=宋体]或[/font][font=Times New Roman] 0766 [/font][font=宋体]的权限的,否则可能产生未知错误。[/font]
[font=Times New Roman] [/font]
[font=宋体]有些空间是不能用[/font][font=Times New Roman] 0777 [/font][font=宋体]的,可以尝试改为其它可用的权限[/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=Times New Roman]Linux [/font][font=宋体]的权限模式是[/font]
[font=Times New Roman] [/font][font=宋体]自己[/font][font=Times New Roman] [/font][font=宋体]组[/font][font=Times New Roman] [/font][font=宋体]化众[/font]
[font=宋体]读[/font][font=Times New Roman] 4[/font]
[font=宋体]写[/font][font=Times New Roman] 2[/font]
[font=宋体]运[/font][font=Times New Roman] 1[/font]
[font=宋体]所以一般主要自己的权限有[/font][font=Times New Roman] 7 [/font][font=宋体]就比较适合[/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=宋体]这个在未来的[/font][font=Times New Roman] V5.1 [/font][font=宋体]版本我们会详细的提示用户,不过有一点目前架构是不可行的,就是安全模式的[/font][font=Times New Roman]Linux[/font][font=宋体]空间[/font]
[font=Times New Roman] [/font]
[font=宋体]如果用[/font][font=Times New Roman] 0666 [/font][font=宋体]的模式,大多数情况是可以的,就怕运行不了一些[/font][font=Times New Roman]PHP[/font][font=宋体]脚本[/font]
[font=Times New Roman] [/font]
[font=宋体]那在安装方面的问题大体上就是这点需要注意的,下面我说一下模板的问题[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]DedeCms [/font][font=宋体]的模块是区别其它[/font][font=Times New Roman]CMS[/font][font=宋体]最特别的地方,因为[/font][font=Times New Roman] DedeCms[/font][font=宋体]使用类似[/font][font=Times New Roman]xml[/font][font=宋体]的标签风格,可以在模板中对标记指定不同的属性就能改变标签的样式,这样和其它[/font][font=Times New Roman]CMS[/font][font=宋体]的模板相比,不需要过多的依赖数据库,从而更容易实现模板的共享。如果你是从其它[/font][font=Times New Roman]CMS[/font][font=宋体]转过来的,可能一开始会觉得[/font][font=Times New Roman]DedeCms[/font][font=宋体]的模板有点不习惯,因为很多[/font][font=Times New Roman]CMS[/font][font=宋体]的一些什么调用都是在后台设置一些参数来改变标签风格的,但[/font][font=Times New Roman]DedeCms[/font][font=宋体]却是直接在模板里改,但用习惯了会发现[/font][font=Times New Roman]DedeCms[/font][font=宋体]的模板确实很“黄”,很强大。[/font]
[font=Times New Roman] [/font]
[font=宋体]打错字,[/font][font=Times New Roman] DedeCms [/font][font=宋体]的模块是区别其它[/font][font=Times New Roman]CMS[/font][font=宋体]最特别的地方[/font][font=Times New Roman] -> DedeCms [/font][font=宋体]的模板是区别其它[/font][font=Times New Roman]CMS[/font][font=宋体]最特别的地方[/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=宋体]那首先讲一下基本的东西[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]1[/font][font=宋体]、在这[/font][font=Times New Roman]XHTML[/font][font=宋体]当道的天下,可能大家都知道,[/font][font=Times New Roman]XML[/font][font=宋体]有一个特点,就是标记[/font][font=Times New Roman] <img [/font][font=宋体]…[/font][font=Times New Roman].></img> [/font][font=宋体],使用简写模式就是[/font][font=Times New Roman] <img [/font][font=宋体]…[/font][font=Times New Roman] />[/font][font=宋体],实际上在这方面[/font][font=Times New Roman] DedeCms[/font][font=宋体]也是一致的。[/font]
[font=宋体]例如:对于标记[/font][font=Times New Roman]{dede:field name=[/font][font=宋体]’[/font][font=Times New Roman]title[/font][font=宋体]’[/font][font=Times New Roman]}{/dede:field}[/font][font=宋体]写成[/font][font=Times New Roman]{dede:field name=[/font][font=宋体]’[/font][font=Times New Roman]title[/font][font=宋体]’[/font][font=Times New Roman] /}[/font][font=宋体]作用也是一样的。[/font]
[font=宋体]不过使用[/font][font=Times New Roman] {dede:field name=[/font][font=宋体]’[/font][font=Times New Roman]title[/font][font=宋体]’[/font][font=Times New Roman]}{/dede:field} [/font][font=宋体]这种形式的,需要注意一个问题,很多[/font][font=Times New Roman] DedeCms[/font][font=宋体]标记是支持[/font][font=Times New Roman] Innertext [/font][font=宋体]的(就是指支持在[/font]
[font=Times New Roman]
{dede:[/font][font=宋体]…[/font][font=Times New Roman]} Innertext {/dede:[/font][font=宋体]…[/font][font=Times New Roman]} [/font][font=宋体]标记中间的地方使用一些特定的标记来表示循环单条记录中使用的样式,或执行一段特定的[/font][font=Times New Roman]PHP[/font][font=宋体]代码),因此对于可以使用[/font][font=Times New Roman] Innertext[/font][font=宋体]的标记,要么写为简写模式,要么标记中间不要留有空格,否则可能会使标记无法正常显示。[/font]
[font=Times New Roman] [/font]
[font=宋体]那么下面我们通过实操去学习[/font][font=Times New Roman] DedeCms [/font][font=宋体]模板的特点[/font]
[font=宋体]大家现在登录到[/font][font=Times New Roman] DedeCms [/font][font=宋体]的后台([/font][font=Times New Roman]3.0[/font][font=宋体]以上的版本),找到“模板管理[/font][font=Times New Roman]->[/font][font=宋体]全局标记测试”的地方,那么下面通过一一实操来介绍织梦模板的特性,从而让大家知道[/font][font=Times New Roman]DedeCms[/font][font=宋体]模板为什么很强大[/font][font=Times New Roman]+[/font][font=宋体]很暴力。[/font]
[font=Times New Roman] [/font]
[font=宋体]大家登录进测试用的[/font][font=Times New Roman]dedecms[/font][font=宋体],最好是有数据的个人网站的管理后台[/font]
[font=Times New Roman] [/font]
[font=宋体]找到“模板管理[/font][font=Times New Roman]->[/font][font=宋体]全局标记测试”的地方[/font]
[font=Times New Roman] [/font]
[font=宋体]下面是这个测试标记的页面的界面[/font]
[font=Times New Roman] [/font]
[font=宋体]那么先来测试一下长短标记的区别[/font]
[font=Times New Roman] [/font]
[font=宋体]模板代码[/font][font=Times New Roman]:[/font]
[font=宋体]我是短标记:[/font][font=Times New Roman] {dede:global name='cfg_webname' /} <hr>[/font]
[font=宋体]我是完整标记:[/font][font=Times New Roman]{dede:global name='cfg_webname'}{/dede:global}[/font]
[font=宋体]结果[/font][font=Times New Roman]:[/font]
[font=Times New Roman]--------------------------------------------------------------------------------[/font]
[font=宋体]我是短标记:[/font][font=Times New Roman] [/font][font=宋体]织梦内容管理系统[/font][font=Times New Roman] [/font]
[font=Times New Roman]--------------------------------------------------------------------------------[/font]
[font=宋体]我是完整标记:织梦内容管理系统[/font]
[font=Times New Roman] [/font]
[font=宋体]知道这个在线标签测试的东西怎么用之后,我现在开始系统讲述[/font][font=Times New Roman] DedeCms [/font][font=宋体]模板标签的应用与技巧。[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]DedeCms[/font][font=宋体]标签主要分三种用途,一种是通用的标签,就是在[/font][font=Times New Roman]Dedecms[/font][font=宋体]模型核心都能调用的标签,也叫板块模板标签,在这里能测试到的也是这种标签;第二种是列表标签,即是在栏目列表页使用的标签;第三种是文档标签,对于文章模型而言,就是文章显示页的模板所使用的标签,这类标签通常是字段的不同,在这章节的最后面,我也会说一下关于织梦模型机制与模板的关系。[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]DedeCms [/font][font=宋体]的模板有三大特点:[/font]
[font=Times New Roman](1) DedeCms [/font][font=宋体]模板特点之一:模板与程序完全分离,方便用户共享模板。[/font]
[font=Times New Roman](2) DedeCms [/font][font=宋体]模板特点之二:支持底层模板。[/font]
[font=Times New Roman](3) DedeCms [/font][font=宋体]模板特点之三:支持简单编程。[/font]
[font=Times New Roman] [/font]
[font=宋体]那么先说第一点[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]DedeCms [/font][font=宋体]模板默认存放目录是在“[/font][font=Times New Roman]Dede[/font][font=宋体]根[/font][font=Times New Roman]/templets/default[/font][font=宋体]”文件夹,[/font]
[font=宋体]其中[/font][font=Times New Roman] templets [/font][font=宋体]这目录名是固定的,一般建议不要更改,[/font][font=Times New Roman] [/font][font=宋体]如果你要保护自己的模板,可以在后台“系统管理[/font][font=Times New Roman]->[/font][font=宋体]系统变量配置[/font][font=Times New Roman]->[/font][font=宋体]其它设置”,找到“模板默认风格”[/font]
[font=宋体]这一项,把”[/font][font=Times New Roman]default[/font][font=宋体]”改为其它名称,当然同时你要手工改动“[/font][font=Times New Roman]templets/default[/font][font=宋体]”这文件夹为你把指定的那个名称,对于你下载回来的模板,也可以把下载的模板的[/font][font=Times New Roman]default[/font][font=宋体]目录改为其它名称,然后在系统变量中把“模板默认风格”改成这个名称,你就能使用下载回来的模板。[/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=宋体]小提示:网上下载的模板一般不大可能[/font][font=Times New Roman]100%[/font][font=宋体]模型的风格都制作的,很可能是只修改了几个常用的模型风格,因此使用下载回来的风格要先备份旧风格,然后用不覆盖的模式把旧风格里的文件追加进下载回来的模板文件中,以确保风格文件夹文件完整。[/font]
[font=Times New Roman] [/font]
[font=宋体]这个可能在这里的用户一般都懂的了,因为这个比较简单[/font]
[font=Times New Roman] [/font]
[font=宋体]下面我详细解析一下“底层模板”,它是很有用的东西[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]DedeCms [/font][font=宋体]模板有一个很重要的概念,那就是底层模板([/font][font=Times New Roman]Innertext[/font][font=宋体]),底层模板实际上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。[/font]
[font=Times New Roman] [/font][font=宋体]因为这个概念很虚线,那么这个地方还是通过实践去说明吧。[/font]
[font=Times New Roman] [/font][font=宋体]大家在标签测试的地方输入:[/font]
[font=宋体]这是使用默认底层模板的标签:[/font][font=Times New Roman]{dede:arclist row=10}{/dede:arclist} <hr>[/font]
[font=宋体]这是手工指定底层模板的标签:[/font]
[font=Times New Roman]{dede:arclist row=5}[/font]
[font=宋体]◆[/font][font=Times New Roman] <a href=[/font][font=宋体]’[/font][font=Times New Roman][field:arcurl/][/font][font=宋体]’[/font][font=Times New Roman]>[field:title /]</a> [/font][font=宋体]点击:[/font][font=Times New Roman][field:click/] <br />[/font]
[font=Times New Roman]{/dede:arclist}[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]Henrich [/font][font=宋体]反应很快,那个也看出[/font]
[font=Times New Roman]{dede:arclist row=10}{/dede:arclist}[/font]
[font=Times New Roman]{dede:arclist row=5}[/font]
[font=宋体]◆[/font][font=Times New Roman] <a href=[/font][font=宋体]’[/font][font=Times New Roman][field:arcurl/][/font][font=宋体]’[/font][font=Times New Roman]>[field:title /]</a> [/font][font=宋体]点击:[/font][font=Times New Roman][field:click/] <br />[/font]
[font=Times New Roman]{/dede:arclist}[/font]
[font=Times New Roman] [/font]
[font=宋体]两个标记在用了底层模板和不用的区别了[/font]
[font=Times New Roman] [/font]
[font=宋体]有一点需注意的是,在没有指定底层模板[/font][font=Times New Roman](Innettext)[/font][font=宋体]的时候,系统一般调用[/font][font=Times New Roman] templets/system [/font][font=宋体]里的相应该文件作为底层模板[/font]
[font=Times New Roman] [/font]
[font=宋体]例如:[/font][font=Times New Roman] {dede:arclist row=10}{/dede:arclist} [/font][font=宋体]它实际由系统默认调用了[/font][font=Times New Roman] templets/system/part_arclist.htm [/font][font=宋体]这文件的东西作为底层模板[/font]
[font=Times New Roman] [/font]
[font=宋体]这文件的内容是[/font][font=Times New Roman] [/font][font=宋体]·[/font][font=Times New Roman]<a href="[field:filename /]">[field:title /]</a><br/>[/font]
[font=Times New Roman] [/font]
[font=宋体]那么[/font][font=Times New Roman] {dede:arclist row=10}{/dede:arclist}[/font]
[font=宋体]就等同于[/font]
[font=Times New Roman]{dede:arclist row=10}·<a href="[field:filename /]">[field:title /]</a><br/>{/dede:arclist}[/font]
[font=Times New Roman] [/font]
[font=宋体]既能用短标记,也能直接定义样式,又不依赖数据库,这是[/font][font=Times New Roman]dedecms[/font][font=宋体]模板和其它模板的最大区别[/font]
[font=Times New Roman] [/font]
[font=宋体]在标记之间[/font][font=Times New Roman] [field:[/font][font=宋体]…[/font][font=Times New Roman]/] [/font][font=宋体]这些就是底层模板变量,这些标记一般也是属于[/font][font=Times New Roman] Dedecms [/font][font=宋体]标签的模式,只是[/font][font=Times New Roman] { [/font][font=宋体]…[/font][font=Times New Roman] } [/font][font=宋体]符号改为了[/font][font=Times New Roman] [ [/font][font=宋体]…[/font][font=Times New Roman] ][/font][font=宋体],因此底层模板中的标签也是具有[/font][font=Times New Roman]DedeCms[/font][font=宋体]标签的特性的,例如,在底层模板中使用[/font][font=Times New Roman] [field:global name=[/font][font=宋体]’[/font][font=Times New Roman]cfg_webname[/font][font=宋体]’[/font][font=Times New Roman]/] [/font][font=宋体]同样可以表示全局变量[/font][font=Times New Roman] $cfg_webname[/font][font=宋体]。[/font]
[font=Times New Roman] [/font]
[font=宋体]这些底层模板变量大多数是数据库里的具体字段,当然有一部份做过处理[/font]
[font=Times New Roman] [/font]
[font=宋体]具体哪些标记可以用[/font][font=Times New Roman]Innertext[/font][font=宋体],那些不可以用,可以在[/font]
[font=Times New Roman]
http://www.dedecms.com/archives/templethelp/help/index.htm[/font]
[font=宋体]这页面参考[/font]
[font=Times New Roman] [/font]
[font=宋体]在此我简单介绍一下常用的[/font][font=Times New Roman] arclist [/font][font=宋体]标记的底层模板字段及意义[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]arclist[/font][font=宋体]的底层模板字段实际上是对应相应该的主索引表的,在文档模板中则对应该主表和附加表,主表字段是一样的,我等会介绍一下,附加表的可以在模型里找[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]arclist[/font][font=宋体]常用的字段有[/font]
[font=Times New Roman]ID([/font][font=宋体]同[/font][font=Times New Roman] id),[/font]
[font=Times New Roman]title([/font][font=宋体]标题[/font][font=Times New Roman]),[/font]
[font=Times New Roman]color,[/font]
[font=Times New Roman]typeid([/font][font=宋体]栏目[/font][font=Times New Roman]ID),[/font]
[font=Times New Roman]description([/font][font=宋体]摘要,同[/font][font=Times New Roman] info),[/font]
[font=Times New Roman]writer[/font][font=宋体](作者)[/font][font=Times New Roman],[/font]
[font=Times New Roman]shorttitle[/font][font=宋体](短标题)[/font][font=Times New Roman],[/font]
[font=Times New Roman]memberid([/font][font=宋体]会员[/font][font=Times New Roman]ID),[/font]
[font=Times New Roman]pubdate[/font][font=宋体](发布时间)[/font][font=Times New Roman],[/font]
[font=Times New Roman]click,[/font]
[font=Times New Roman]litpic([/font][font=宋体]缩图图,同[/font][font=Times New Roman] picname),[/font]
[font=Times New Roman]typename([/font][font=宋体]栏目名称[/font][font=Times New Roman]),[/font]
[font=Times New Roman]arcurl([/font][font=宋体]网址,同[/font][font=Times New Roman] filename),[/font]
[font=Times New Roman]typeurl([/font][font=宋体]栏目网址[/font][font=Times New Roman])[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]stime(pubdate [/font][font=宋体]的[/font][font=Times New Roman]"0000-00-00"[/font][font=宋体]格式,等同于[/font][font=Times New Roman][field:pubdate function="strftime('%y-%m-%d',@me)"/]),[/font]
[font=Times New Roman]textlink([/font][font=宋体]等同[/font][font=Times New Roman]<a href='[field:arcurl /]'>[field:title/]</a>),[/font]
[font=Times New Roman]typelink([/font][font=宋体]等同[/font][font=Times New Roman]<a href='[field:arcurl /]'>[field:title/]</a>),,[/font]
[font=Times New Roman]imglink([/font][font=宋体]等同[/font][font=Times New Roman]<a href='[field:arcurl /]'><img src='[field:picname/]' border='0'></a>),[/font]
[font=Times New Roman]image([/font][font=宋体]等同[/font][font=Times New Roman]<img src='[field:picname/]'>),[/font]
[font=Times New Roman] [/font]
[font=宋体]大家需注意的一个问题是:[/font][font=Times New Roman][field:[/font][font=宋体]标记名称[/font][font=Times New Roman]/][/font][font=宋体]这种写法是仅在底层模板中才用的[/font]
[font=Times New Roman] [/font]
[font=宋体]在文档模板中,字段是用[/font][font=Times New Roman] {dede:field name='title'/}[/font][font=宋体]这样形式表示的[/font]
[font=Times New Roman] [/font]
[font=宋体]不过在一种特殊的情况下,[/font][font=Times New Roman]Innertext[/font][font=宋体]是无效的,就是指定了[/font][font=Times New Roman] runphp=[/font][font=宋体]’[/font][font=Times New Roman]yes[/font][font=宋体]’[/font][font=Times New Roman] [/font][font=宋体]属性,下面我就说一下关于在[/font][font=Times New Roman]DedeCms[/font][font=宋体]标签进行简单编程的情况,这也是[/font][font=Times New Roman]DedeCms[/font][font=宋体]标签的特点之一。[/font]
[font=Times New Roman] [/font]
[font=宋体]对[/font][font=Times New Roman]DedeCms[/font][font=宋体]的模板标记进行扩展,除了直接修改程序以后,对于普通用户而言,最简单的方法就是对标签进行有限编程。[/font]
[font=Times New Roman]
DedeCms[/font][font=宋体]里对标签进行编程扩展有两种可用模式:[/font]
[font=Times New Roman]A[/font][font=宋体]、[/font][font=Times New Roman]function [/font][font=宋体]扩展[/font]
[font=Times New Roman]B[/font][font=宋体]、在[/font][font=Times New Roman]Innertext[/font][font=宋体]中直接编程[/font]
[font=Times New Roman] [/font]
[font=宋体]那么首先说[/font][font=Times New Roman] A[/font][font=宋体]、[/font][font=Times New Roman]function [/font][font=宋体]扩展[/font]
[font=Times New Roman] [/font]
[font=宋体]在标记中,可以使用[/font][font=Times New Roman] {dede:[/font][font=宋体]标记名称[/font][font=Times New Roman] function=[/font][font=宋体]”函数名[/font][font=Times New Roman](@me,[/font][font=宋体]其它参数[/font][font=Times New Roman])[/font][font=宋体]”[/font][font=Times New Roman] /}[/font][font=宋体]这样模式对标记的值进行处理,其中[/font][font=Times New Roman] @me [/font][font=宋体]就是表示标记当前的值,最终获得的结果是这个函数返回的值。[/font]
[font=Times New Roman] [/font][font=宋体]大家不妨测试一下下面这个标签:[/font]
[font=Times New Roman]
{dede:global function="file_get_contents(' [url]http://www.baidu.com[/url]')" /}[/font]
[font=Times New Roman] [/font]
[font=宋体]如果要测试代码的,请禁用[/font][font=Times New Roman]QQ[/font][font=宋体]的转义符,否则就有可能出错的[/font]
[font=Times New Roman] [/font]
[font=宋体]下面再举个实用的例子[/font]
[font=Times New Roman] [/font]
[font=宋体]这里举个实用的例子:[/font]
[font=Times New Roman]{dede:arclist row=5}[/font]
[font=宋体]◆[/font][font=Times New Roman]
<a href='[field:arcurl/]'>[field:title /]</a>[/font]
[font=Times New Roman][field:pubdate function="strftime('%y-%m-%d %H:%M',@me);"/]<br />[/font]
[font=Times New Roman]{/dede:arclist}[/font]
[font=Times New Roman] [/font]
[font=宋体]测试一下[/font]
[font=Times New Roman] [/font]
[font=宋体]大家没有有注意一下问题[/font][font=Times New Roman]{dede:xx/}[/font][font=宋体]和[/font][font=Times New Roman][field:xxx/}[/font][font=宋体]都支持[/font][font=Times New Roman]function[/font][font=宋体]扩展[/font]
[font=Times New Roman] [/font]
[font=宋体]实际上[/font][font=Times New Roman] [field:xxx/] [/font][font=宋体]这种模式也是[/font][font=Times New Roman]dede[/font][font=宋体]标签解析器解析的,所以作用一样,它只是把[/font][font=Times New Roman] dede [/font][font=宋体]换成[/font][font=Times New Roman] field { [/font][font=宋体]换成[/font][font=Times New Roman] [[/font]
[font=宋体]在这里,[/font][font=Times New Roman]function [/font][font=宋体]属性的[/font][font=Times New Roman] function [/font][font=宋体]不仅是用[/font][font=Times New Roman]PHP[/font][font=宋体]自带的,用自己定义的也行[/font]
[font=Times New Roman] [/font]
[font=宋体]不过要注意[/font][font=Times New Roman]function[/font][font=宋体]的格式,自定义的[/font][font=Times New Roman]function[/font][font=宋体]不能用[/font][font=Times New Roman]echo[/font][font=宋体]这样的输出,而是返回一个字符串,这样就行了[/font]
[font=Times New Roman] [/font]
[font=宋体]写好的函数放入[/font][font=Times New Roman] include/inc_channel_unit_functions.php [/font][font=宋体]文件,因为[/font][font=Times New Roman]dede[/font][font=宋体]核心都会调用这个文件[/font]
[font=Times New Roman] [/font]
[font=宋体]这里举个简单的函数[/font]
[font=Times New Roman]function testMyFunc($str){[/font]
[font=Times New Roman]
return $str." [/font][font=宋体]增加了我的东西哦![/font][font=Times New Roman]";[/font]
[font=Times New Roman]}[/font]
[font=宋体]在标签中使用[/font][font=Times New Roman] [/font]
[font=Times New Roman]{dede:global name='cfg_webname' function='testMyFunc(@me)'/}[/font]
[font=Times New Roman] [/font]
[font=宋体]用[/font][font=Times New Roman]function[/font][font=宋体]扩展的好处是既可以增强系统的功能,又保持标记的简洁[/font]
[font=Times New Roman] [/font]
[font=宋体]下面介绍的是另一种扩展[/font][font=Times New Roman] B[/font][font=宋体]、在[/font][font=Times New Roman]Innertext[/font][font=宋体]中直接编程[/font]
[font=Times New Roman] [/font]
[font=宋体]这种方式和[/font][font=Times New Roman]function[/font][font=宋体]编程的不同之处是,你可以把[/font][font=Times New Roman]PHP[/font][font=宋体]代码直接写入到标签的底层模板代码的地方,不过需要注意的是,在这里的[/font][font=Times New Roman]PHP[/font][font=宋体]代码并非完全意义上的[/font][font=Times New Roman]PHP[/font][font=宋体]代码,它必须符合[/font][font=Times New Roman]Dede[/font][font=宋体]限定的格式,即是最终返回值返回到[/font][font=Times New Roman] @me [/font][font=宋体]变量中,同样的是用[/font][font=Times New Roman] @me [/font][font=宋体]表示标记的最初的值。[/font]
[font=宋体]使用格式:[/font][font=Times New Roman] {dede:[/font][font=宋体]标记名称[/font][font=Times New Roman] runphp=yes}PHP[/font][font=宋体]代码[/font][font=Times New Roman]{/dede:[/font][font=宋体]标记名称[/font][font=Times New Roman]}[/font]
[font=Times New Roman] [/font]
[font=宋体]大家测试一下这个代码:[/font]
[font=Times New Roman]{dede:global name='cfg_webname' runphp='yes'}[/font]
[font=Times New Roman]$baidu = file_get_contents(" [url]http://www.baidu.com[/url]");[/font]
[font=Times New Roman]preg_match_all("/<title>(.*)<\/title>/isU",$baidu,$baidus);[/font]
[font=Times New Roman]@me = $baidus[1][0];[/font]
[font=Times New Roman]{/dede:global}[/font]
[font=Times New Roman] [/font]
[font=宋体]在使用标记内编程或[/font][font=Times New Roman]function[/font][font=宋体]扩展时,很多情况都可能会调用数据库[/font]
[font=Times New Roman] [/font]
[font=宋体]在[/font][font=Times New Roman]V5[/font][font=宋体]版本中,[/font][font=Times New Roman]DedeCms[/font][font=宋体]的数据库进行了改进,无论你新建多少个类的对像,最终打开的链接是只有一个的,并且会生成一个[/font][font=Times New Roman] $dsql [/font][font=宋体]的全局数据库类的变量[/font]
[font=Times New Roman] [/font]
[font=宋体]以往有些懂[/font][font=Times New Roman]dedecms[/font][font=宋体]数据库类的人在调用[/font][font=Times New Roman]function[/font][font=宋体]扩展的时候,一般的做法是用[/font][font=Times New Roman] $dsql = new DedeSql(false); [/font][font=宋体]这样新建一个类[/font]
[font=Times New Roman] [/font]
[font=宋体]实际上在[/font][font=Times New Roman]V5[/font][font=宋体]中是不需要这样的[/font]
[font=Times New Roman] [/font]
[font=宋体]直接用[/font][font=Times New Roman] global $dsql;[/font][font=宋体]声明一下就能使用,并且在函数体中不要自行关闭(即执行[/font][font=Times New Roman] $dsql->Close()[/font][font=宋体])否则可能出错[/font]
[font=宋体]那么在这里举个简单的例子[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]{dede:global runphp='yes'}[/font]
[font=Times New Roman]global $dsql;[/font]
[font=Times New Roman]$restr = '';[/font]
[font=Times New Roman]$dsql->SetQuery("Select * From #@__feedback where
ischeck=1 order by ID desc
limit 5");[/font]
[font=Times New Roman]$dsql->Execute('feedback');[/font]
[font=Times New Roman]while($row = $dsql->GetArray('feedback')){[/font]
[font=Times New Roman]
$restr .= "<a target='_blank' href='/plus/feedback.php?arcID={$row['aid']}&urlindex={$row['urlindex']}'>{$row['arctitle']}</a> -- ".cn_substr($row['msg'],200)."<hr />";[/font]
[font=Times New Roman]}[/font]
[font=Times New Roman]@me = $restr;[/font]
[font=Times New Roman]{/dede:global}[/font]
[font=Times New Roman] [/font]
[font=宋体]测试一下这代码[/font]
[font=宋体]这代码是调用最新评论的[/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=Times New Roman]dede[/font][font=宋体]本身没有提供直接调用评论的标签,一般懂的人用[/font][font=Times New Roman]loop[/font][font=宋体]标签调用,不过在本版中,新增的[/font][font=Times New Roman]SQL[/font][font=宋体]标签会更简单[/font]
[font=Times New Roman] [/font]
[font=宋体]在[/font][font=Times New Roman] DedeCms V5 [/font][font=宋体]中有一个标签[/font][font=Times New Roman]{dede:sql sql="SQL[/font][font=宋体]语句[/font][font=Times New Roman] limit [/font][font=宋体]记录[/font][font=Times New Roman]"}[/font][font=宋体]底层模板[/font][font=Times New Roman]{/dede:sql}[/font]
[font=Times New Roman] [/font]
[font=宋体]我现在改一下刚才调用评论的地方[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]{dede:sql sql="Select * From #@__feedback where
ischeck=1 order by ID desc
limit 5"}[/font]
[font=Times New Roman]<a target='_blank' href='/plus/feedback.php?arcID=[field:aid/]&urlindex=[field:urlindex/]'>[field:arctitle/]</a> -- [field:msg/]<hr />[/font]
[font=Times New Roman]{/dede:sql}[/font]
[font=Times New Roman] [/font]
[font=宋体]测试一下[/font]
[font=Times New Roman] [/font]
[font=宋体]嗯,这结果应该和上面的代码是一样的[/font]
[font=Times New Roman] [/font]
[font=宋体]一般比较有意义的数据表命名还是比较标准的,不相干的表,调用也没什么意义[/font]
[font=Times New Roman] [/font]
[font=宋体]假如有一个动态的系统,如论坛是装在同一数据库的,那么也可以通过这种方式调用一些贴子出来[/font]
[font=Times New Roman] [/font]
[font=宋体]如果是规范的[/font][font=Times New Roman]HTML[/font][font=宋体]名称也是有办法的[/font]
[font=Times New Roman] [/font]
[font=宋体]不同数据库主要权限足也行[/font]
[font=Times New Roman] [/font]
[font=宋体]写表名是用[/font][font=Times New Roman] [/font][font=宋体]数据库名[/font][font=Times New Roman].[/font][font=宋体]表名[/font][font=Times New Roman] [/font][font=宋体]这样就能跨库读取[/font]
[font=Times New Roman] [/font]
[font=宋体]如果用[/font][font=Times New Roman] DedeCms V5 [/font][font=宋体]之前用过其它版本的,模板标记有一个地方需要注意[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]arclist [/font][font=宋体]在[/font][font=Times New Roman]V5[/font][font=宋体]中是不能调用整站的文档的[/font]
[font=Times New Roman] [/font]
[font=宋体]主要原因是因为现在的频道是允许分表,因此[/font][font=Times New Roman]arclist[/font][font=宋体]标记必须指定[/font][font=Times New Roman]typeid[/font][font=宋体]或[/font][font=Times New Roman]channelid[/font]
[font=Times New Roman] [/font]
[font=宋体]为了补允调用全站数据的不足,[/font][font=Times New Roman]V5[/font][font=宋体]中新增了[/font][font=Times New Roman] arcfulllist [/font][font=宋体]标记,它的作用与[/font][font=Times New Roman] arclist [/font][font=宋体]标记有点类同,不示不同的是[/font][font=Times New Roman] arcfulllist [/font][font=宋体]里的文件名有时候可能是动态的,这因为它是使用搜索时用的那个简单索引表[/font]
[font=Times New Roman] [/font]
[font=宋体]在专题文章、相关文章中默认都是使用[/font][font=Times New Roman] arcfulllist [/font][font=宋体]调用指定的[/font][font=Times New Roman] id [/font][font=宋体]的文档的[/font]
[font=Times New Roman] [/font]
[font=宋体]由于这标记可能造成文件名不同步,我们系统后面增加了文档名批量修正功能,但为了防止忘记操作,建议建立栏目就设定好文档命名规则,以后不要经常更改[/font]
[font=Times New Roman] [/font]
[font=宋体]那下面我再简单介绍一下[/font][font=Times New Roman]DedeCms V5[/font][font=宋体]里的真正的扩展[/font]
[font=Times New Roman] [/font]
[font=宋体]在[/font][font=Times New Roman] DedeCms V5 [/font][font=宋体]中,可以进行扩展的东西有三种,一就是常用的模型,二是新出的模块,三是插件[/font]
[font=Times New Roman] [/font]
[font=宋体]大家进到[/font][font=Times New Roman]Dede[/font][font=宋体]管理后台“频道管理[/font][font=Times New Roman]->[/font][font=宋体]内容模型管理”的地方[/font]
[font=Times New Roman] [/font]
[font=宋体]在这里,你看到的[/font][font=Times New Roman] [/font]
[font=宋体]分类信息[/font]
[font=宋体]专题[/font]
[font=宋体]普通文章[/font]
[font=宋体]图片集[/font]
[font=宋体]软件[/font]
[font=Times New Roman]Flash [/font]
[font=Times New Roman] [/font][font=宋体]产品[/font][font=Times New Roman] [/font]
[font=宋体]这些都是内置的模型[/font]
[font=Times New Roman] [/font]
[font=宋体]大家也可以自己新建一个模型,有不少人问:[/font][font=Times New Roman]Dedecms[/font][font=宋体]的文存储在哪里呀?下面我一步一步的教大家建立一个用文本存储的文章模型[/font]
[font=Times New Roman] [/font]
[font=宋体]首先“增加一个新模型”[/font]
[font=Times New Roman] [/font]
[font=宋体]建立好后“添加字段”[/font]
[font=Times New Roman] [/font]
[font=Times New Roman][/font]
[font=Times New Roman] [/font]
[font=宋体]现在转向栏目管理的地方[/font]
[font=Times New Roman] [/font]
[font=宋体]有没有人已经建立好一个频道模型的?[/font]
[font=Times New Roman] [/font]
[font=宋体]建立好后转到[/font][font=Times New Roman] [/font][font=宋体]栏目管理的地方新建一个顶级栏目,内容模型选刚才建好的那个[/font]
[font=Times New Roman] [/font]
[font=宋体]建立好栏目后,随意在那个栏目增加一篇文章[/font]
[font=Times New Roman] [/font]
[font=宋体]预览文章,会发生新增的模型显示的文档是[/font]
[font=Times New Roman] [/font]
[font=Times New Roman][/font]
[font=Times New Roman] [/font]
[font=宋体]现在再回到频道模型管理的地方[/font]
[font=宋体]在新建的频道点击“模板”或[/font][font=Times New Roman] [/font][font=宋体]图标[/font]
[font=Times New Roman] [/font]
[font=宋体]对于类同的模型,最好是把类同的模板作为当前模型的模板[/font]
[font=Times New Roman] [/font]
[font=宋体]如刚才建立的模型,实际上模板和普通文章模板是一样的,就[/font][font=Times New Roman] [/font][font=宋体]九零·天纵[/font][font=Times New Roman] [/font][font=宋体]的系统,把[/font][font=Times New Roman] article_body.htm [/font][font=宋体]复制一份,改名为[/font][font=Times New Roman] article_body.htm [/font][font=宋体]放在里面即可[/font]
[font=Times New Roman] [/font]
[font=宋体]这样就可以随你的意愿去显示相关的东西[/font]
[font=Times New Roman] [/font]
[font=宋体]此就是就关于字段的问题,在文档模板中字段是用[/font][font=Times New Roman]{dede:field name='[/font][font=宋体]字段名[/font][font=Times New Roman]'/}[/font][font=宋体]表示[/font]
[font=Times New Roman] [/font]
[font=宋体]例如在软件模型中[/font]
[font=宋体]文件类型[/font][font=Times New Roman]
filetype
[/font][font=宋体]单行文本[/font][font=Times New Roman](varchar)
[/font][font=宋体]固化表单[/font][font=Times New Roman]
[[/font][font=宋体]修改[/font][font=Times New Roman]]
[/font]
[font=宋体]语言[/font][font=Times New Roman]
language
[/font][font=宋体]单行文本[/font][font=Times New Roman](varchar)
[/font][font=宋体]固化表单[/font][font=Times New Roman]
[[/font][font=宋体]修改[/font][font=Times New Roman]]
[/font]
[font=宋体]软件类型[/font][font=Times New Roman]
softtype
[/font][font=宋体]单行文本[/font][font=Times New Roman](varchar)
[/font][font=宋体]固化表单[/font][font=Times New Roman]
[[/font][font=宋体]修改[/font][font=Times New Roman]]
[/font]
[font=宋体]授权方式[/font][font=Times New Roman]
accredit
[/font][font=宋体]单行文本[/font][font=Times New Roman](varchar)
[/font][font=宋体]固化表单[/font][font=Times New Roman]
[[/font][font=宋体]修改[/font][font=Times New Roman]]
[/font]
[font=宋体]操作系统[/font][font=Times New Roman]
os
[/font][font=宋体]单行文本[/font][font=Times New Roman](varchar)
[/font][font=宋体]固化表单[/font][font=Times New Roman]
[[/font][font=宋体]修改[/font][font=Times New Roman]]
[/font]
[font=宋体]软件等级[/font][font=Times New Roman]
softrank
[/font][font=宋体]整数类型[/font][font=Times New Roman] [/font][font=宋体]固化表单[/font][font=Times New Roman]
[[/font][font=宋体]修改[/font][font=Times New Roman]]
[/font]
[font=宋体]官方网址[/font][font=Times New Roman]
officialurl
[/font][font=宋体]单行文本[/font][font=Times New Roman](varchar)
[/font][font=宋体]固化表单[/font][font=Times New Roman]
[[/font][font=宋体]修改[/font][font=Times New Roman]]
[/font]
[font=Times New Roman] [/font]
[font=宋体]语言这字段就可以用[/font][font=Times New Roman] {dede:field name='language'/} [/font][font=宋体]表示[/font]
[font=Times New Roman] [/font]
[font=宋体]此外,[/font][font=Times New Roman]title , keywords , description [/font][font=宋体]这些实际上主索引表的东西,刚才说模板时已经介绍过它的含义了[/font]
[font=Times New Roman] [/font]
[font=宋体]有用户提过一个问题,就是关于自定义模型如何在表布表单中调整字段的顺序[/font]
[font=Times New Roman] [/font]
[font=Times New Roman]Dedecms[/font][font=宋体]目前没有这选项,需要改的必须用[/font][font=Times New Roman] phpmyadmin [/font][font=宋体]进入[/font][font=Times New Roman] dede_channeltype
[/font][font=宋体]这个表[/font]
[font=Times New Roman] [/font]
[font=宋体]编辑[/font][font=Times New Roman] fieldset [/font][font=宋体]这里的[/font][font=Times New Roman]XML[/font][font=宋体],调一下位置就行了[/font]
[font=宋体]此外大家要区别一下自动模型和系统模型的区别,系统模型是固化了的,要调整必须自己修改程序,对于普通人是无法改的[/font]
[font=Times New Roman] [/font]
[font=宋体]不过这版本允许自行增加一些字段在里面[/font]
[font=Times New Roman] [/font]
[font=宋体]因为这次讲座是个中级讲座,模型这块我就不太深入的讲解了,最后介绍一下插件和模块[/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=宋体]插件在[/font][font=Times New Roman]Dedecms[/font][font=宋体]中是就是一些小的实际的程序的集合,它可以简单的安装和删除,不过安装和删除仅去去掉数据库的索引记录,并非进行真正的安装[/font]
[font=Times New Roman] [/font]
[font=宋体]官方网前自带的插件有[/font]
[font=宋体]文件管理器[/font][font=Times New Roman] [/font]
[font=宋体]站内新闻发布[/font][font=Times New Roman] [/font]
[font=宋体]友情链接模块[/font][font=Times New Roman] [/font]
[font=宋体]留言簿模块[/font][font=Times New Roman] [/font]
[font=宋体]投票模块[/font][font=Times New Roman] [/font]
[font=宋体]论坛扩展[/font][font=Times New Roman] [/font]
[font=宋体]广告管理[/font][font=Times New Roman] [/font]
[font=宋体]正则规则测试器[/font][font=Times New Roman] [/font]
[font=宋体]随机模板防采集[/font][font=Times New Roman] [/font]
[font=宋体]木马扫描检测[/font][font=Times New Roman] [/font]
[font=宋体]数据转换与导入[/font][font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=宋体]实际上很多情况下单用插件是满足不了系统的需求的[/font]
[font=Times New Roman] [/font]
[font=Times New Roman] [/font]
[font=宋体]因此[/font][font=Times New Roman]Dedecms V5[/font][font=宋体]提出了模块的概念[/font]
[font=Times New Roman] [/font]
[font=宋体]模块是对系统模型的一个补充,因为[/font][font=Times New Roman]Dedecms[/font][font=宋体]的模板解析机制相对复杂,如果所有东西都依赖模型,就结果只有一个:速度越来越慢[/font]
[font=Times New Roman] [/font]
[font=宋体]使用模块就补充了这方面的不足[/font]
[font=Times New Roman] [/font]
[font=宋体]在[/font][font=Times New Roman] Dedecms V5 [/font][font=宋体]的菜单中“扩展模块”里放的就是[/font][font=Times New Roman]Dedecms[/font][font=宋体]的模块[/font]
[font=Times New Roman] [/font]
[font=宋体]模块文件是一个标准化的[/font][font=Times New Roman]xml[/font][font=宋体]文件,它即包含了模块安装删除的数据,也偶包含了图片等二进制文件[/font]
[font=Times New Roman] [/font]
[font=宋体]有些人问我,为什么在[/font][font=Times New Roman]DedeCms V5[/font][font=宋体]的安装包里没发现[/font][font=Times New Roman]ask[/font][font=宋体]、[/font][font=Times New Roman]group[/font][font=宋体]等目录?[/font]
[font=Times New Roman] [/font]
[font=宋体]因为这些东西都封装起来了,如果你不安装它,是不会看到这些文件的,这样就能尽大限度满足一些站长想要功能多,一些想要功能实用的需求[/font]
[font=Times New Roman] [/font]
[font=宋体]至于如何开发模块,我们会出一个说明,不过在今天的课程中就不讨论[/font]
[font=Times New Roman] [/font]
[font=宋体][size=10.5pt]由于今天讲的主要是中等级别的东西,就暂时讲到此,有什么问题的可以现在开始交流,在此感谢图王热心组织这样的讲座和大家的支持![/size][/font][/font]
[[i] 本帖最后由 qiangren 于 2008-2-26 16:41 编辑 [/i]]
chinale2008 2008-2-22 20:24
不错支持下~~~~~~~~~~~~
dream96138 2008-2-23 17:57
这个要支持
Bong 2008-2-25 17:33
不错不错
希望讲点高级东西,不要讲什么上传安装之类的了
51chuqi.com 2008-2-25 17:58
明天见了!
明天见了!
zhangyafeibest 2008-2-25 19:04
上班时间怎么办啊
一边上班一边上课啊
呵呵