discuz 怎么添加自定义模板
discuz 添加自定义模板的具体操作步骤如下:
我们需要准备的材料有:电脑、
1、首先我们先将这个模块添加好,点击“编辑”选项中“数据”。
2、然后我们在该页面中点击“模块模板”选项,然后把<link rel="stylesheet" type="text/css" href="文件夹/css" />加到最前方。
3、之后我们在该页面中添加代码字符串后,在css自定义样式中编写所需的效果代码即可。
必须至少具备如下技能:
1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)
2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用
3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳
4) 熟悉使用Discuz!的各项功能
一) Discuz!的文件系统目录
注:想搞DZ开发,就得弄懂DZ中每个文件的功能。
a) Admin:后台管理功能模块
b) Api:DZ系统与其它系统之间接口程序
c) Archiver:DZ中,用以搜索引擎优化的无图版
d) Attachments:DZ中 ,用户上传附件的存放目录
e) Customavatars:DZ中,用户自定义头像的目录
f) Forumdata:DZ缓存数据的存放目录
g) Images:DZ模板中的存放目录
h) Include:DZ常用函数库,基本功能模块目录
i) Ipdata:DZ统计IP来路用的数据
j) Plugins:DZ插件信息的存放目录
k) Templates:DZ模板文件的存放目录
l) Wap:DZ无线,Wap程序处理目录
二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。
关于DZ数据库设计文档,请参阅DZ相关的项目
三) Discuz!的流程控制
a)
后台流程控:DZ后台所有的功能,均需要注册到admincpphp文件,每个功能都至少有一个或一个以上的Action(动作),在
admincpphp中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2
admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为actionincphp(incphp),并存放在
admin目录下,如执行:admincpphpaction=dodo,相当于执行admin目录下的dodoincphp文件
b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:
首页:indexphp
会员注册:registerphp;
会员登录:loggingphp
发贴程序:postphp
会员信息:memberphp
论坛内容:forumdisplayphp
查看贴子:viewthreadphp
…大部分功能,此处不一一列出…
c) DZ根目下的configincphp属于整个DZ系统的配置文件
四) Discuz!的数据处理过程
a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysqlclassphp)类中
b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理
五) Discuz!的显示控制(网站多样式风格输出)
a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档
b) DZ网站风格文件处理的原理:其实很简单,DZ使用templatefuncphp中的parse_template()以PHP正则运算把htm模
文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。
六) DZ中的语言处理
a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的langphp文件中,DZ在生成网站风格时就加载了这相应的语言包。
七) DZ如何处理用户信息(存取、计算、更新过程)
新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。
a) DZ的基本信息,如用户信息,Session信息存在如下变量中:
a) $_DCACHE
b) $_COOKIE
c) $_DCOOKIE
d) $_DSESSION
e) $_DPLUGIN
b) 可以通过print_r($GLOBALS),打印全部变量
八) DZ中缓存处理机制
a) DZ中缓存处理过程都放在“cachefuncphp”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。
b)使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:
1)定义并注册缓存名字。
2)从数据读取相应的数据。
3)数据在写入缓存前作相应处理。
4)最后写入缓存。
具体操作,可以看文件中的代码,做相应的修改即可
九) DZ中模板处理机制
a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty是一种重型模板引擎方案。其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。
十) DZ中权限处理机制
a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。至于后台的权限权验证,则更简单了,依据“admin==1”来确定的
十一) DZ中如何实现URL静态化
a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。
十二) DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换
a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。
实现原理:通过JS把用的一些操作转换成了DZ的bbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码
我们结婚吧!--{block/98}-->的短码,把这个短码放在模板中才行(在设置这个diy调用的时候,在数据模块中设置好html结构,也就是你现在直接放在模板中的代码)。
怎么安装Discuz插件?
1安装前提条件:必须拥有FTP好了回归正题,模板安装步骤1、首先找模板插件,下载到自己电脑,解压!打开解压后的文件夹,会发现有几个文件夹几个文件,标注DIY的是模板内置导入的DIY文件,建议直接取出保存在本地电脑,在后面安装完模板美化的时候会用到。而一些长长的文件英文名一般就是模板文件夹了,模板文件夹不会以中文命名。
2、将模板文件夹上传到模板目录中。
一般空间都会支持压缩包压缩和解压,有的支持rar,有的支持zip,不过都一样,支持哪个压缩哪个格式。如果你的空间不支持在线压缩解压,那么逐个上传也是可行的,不过如果对模板插件里面文件多的,那么相应消耗的时间要久一点。
3然后打开FTP软件,进入论坛根目录,根目录可以咨询自己的空间商。将文件上传到根目录下的template中。上传完后,进入后台-界面-风格管理,找到上传的模板,安装即可
你这用的不是默认的模板啊
你可以自己在这进入DIY高级模式,然后先导入框架,再导入文章模块,然后模块置顶你想调用的文章分类就可以了
你这个模板应该写死的有框架了,你只要按你第三章调用文章分类就可以了,你把那个只接受推送数据的勾先去掉,或者你去文章哪里手动推送。最简单的就是左边选择最新文章。
首先要根据需求添加相对应的框架来实现整个版块的排版,系统提供的有8种框架,基本上已经能满足绝大部分的需求。
2
例如:要在论坛首页实现以下这样的版块,那就需要添加一个1:1的框架,然后在1:1框架的右侧再内嵌一个tab框架。
3
2添加好框架之后根据需求把对应的模块添加到框架中来实现对应数据的展示,系统提供了七个类别的数据调用模块。
4
继续上面的例子,左边幻灯片部分调用的是门户类-->文章模块中具有幻灯属性的文章。
5
版块内部模板可在此处修改,如图
6
3右侧最新帖子、热门回复等也是同理,与帖子相关的数据需要在”论坛类中调用”,这里我们需要的是论坛类中的”帖子模块”,如”最新帖子”数据调用为:
7
其他的以此类推,整个版块的数据调用出来之后没问题即可点击保存,到具体页面查看展示效果。添加完成后可以在门户-->模块管理里边也可以看到我们刚刚DIY添加的模块:
8
这时候可能系统提供的展示样式已经不能满足需求,那就需要修改对应的模板
9
大家可以先到DIY完成后生成的模板去看下,具体路径如下图:
10
刚刚添加的每个模块都有对应的一个BLOCK,如这样的内部调用代码,block里边的数据就是根据我们在模块里面设置的模板生成的html数据集,我们可以把这个block调用代码添加到美工已经切好图之后的html模板里边,这样就完成了整个DIY版块的模板修改工作。
0条评论