今天给各位分享discuz前端开发的知识,其中也会对discuz插件开发进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、我想利用Discuz!这个平台做一个论坛,但是我现在什么语言也不会,想去报个班,但不是到需要学什么啊
- 2、如何在PC上 开发 Discuz X3 触屏版 页面
- 3、学习什么知识后才能对discuz模板的前端进行修改?
- 4、怎么进行discuz的二次开发
- 5、学习web前端开发,一定要会计算机专业知识吗
- 6、discuz前端如何学?
1、我想利用Discuz!这个平台做一个论坛,但是我现在什么语言也不会,想去报个班,但不是到需要学什么啊
dz是 php + mysql架构
dz系统对于一般的用户来说系统是比较复杂的,但懂得一些html css js语言和图片处理基础就能对页面模板进行设计和修改,以到达自己想要的显示效果,但是你需要学精css 还要注意浏览器兼容性问题,特别是ie6和其他浏览器显示不兼容的。
再有懂得php语言就能设计出一些插件和修改dz代码进而对其进行二次开发。
php学习起来比较简单,目前网络上也有很多教程,高校很少开php 大多是jsp asp.net。所以php大多是自学的。但是php只是web编程语言也就是控制层(程序员),html css js是显示层(web美工,前端),所以你要系统的 了解web原理,如果只是想修改下模板就学习下前端再了解下编程语言就行。如果你要二次开发那就要系统的学习php 数据库和前端等。
2、如何在PC上 开发 Discuz X3 触屏版 页面
1.如果想在PC浏览器查看手机版页面,首先要在Discuz管理后台启用手机版功能,然后才能看到手机版。
2.然后怎么在浏览器查看手机版呢,打开一般都是pc版吧,这个疑问很好解决,现在的浏览器都有切换UA(user-agent)的功能,程序判断是否手机就看这个UA。
这里我推荐用chrome浏览器,(实话说吧,前端开发不用chrome,你还是前端开发员吗)。
打开chrome浏览器
右键页面空白处,选择审查元素,然后点击右下方的齿轮,就能出来上图的界面,Android2.3就是当前选择的UA.这样我们就能让浏览器变成跟手机差不多了。当然这个审查元素的调试窗口不能关,关了UA就不生效了,但是一般调试页面时,这个调试窗口是必须的。如果你还是觉得麻烦,那就装一个切换UA的chrome扩展吧。
3.切换UA后,刷新discuz页面你会发觉已经去到了手机版,但怎么也切换不到触屏版,请看到discuz代码目录中 static/js/mobile/common.js文件的头两行。
[html] view plain copy 在CODE上查看代码片派生到我的代码片
var supporttouch = "ontouchend" in document;
!supporttouch (window.location.href = 'forum.php?mobile=1');
就是这个ontouchend,这个是只有手机才会有的事件,pc浏览器怎么也是不存在的,因此就永久跳到了标准版去了。
所以只要将这两行去掉,想要开发discuz什么页面都不是问题了。
3、学习什么知识后才能对discuz模板的前端进行修改?
1、学习前端的基本知识:html css js
2、需学习php语言,至少要能看懂discuz论坛程序
有些模板页面中嵌入php写法,不懂可能就很懵
4、怎么进行discuz的二次开发
必须至少具备如下技能:
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后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在
admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2
admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在
admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件
b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:
首页:index.php
会员注册:register.php;
会员登录:logging.php
发贴程序:post.php
会员信息:member.php
论坛内容:forumdisplay.php
查看贴子:viewthread.php
…大部分功能,此处不一一列出…
c) DZ根目下的config.inc.php属于整个DZ系统的配置文件
四) Discuz!的数据处理过程
a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中
b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理
五) Discuz!的显示控制(网站多样式风格输出)
a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档
b) DZ网站风格文件处理的原理:其实很简单,DZ使用template.func.php中的parse_template()以PHP正则运算把htm模
文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。
六) DZ中的语言处理
a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的*.lang.php文件中,DZ在生成网站风格时就加载了这相应的语言包。
七) DZ如何处理用户信息(存取、计算、更新过程)
新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。
a) DZ的基本信息,如用户信息,Session信息存在如下变量中:
a). $_DCACHE
b). $_COOKIE
c). $_DCOOKIE
d). $_DSESSION
e). $_DPLUGIN
b) 可以通过print_r($GLOBALS),打印全部变量
八) DZ中缓存处理机制
a) DZ中缓存处理过程都放在“cache.func.php”中,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代码
5、学习web前端开发,一定要会计算机专业知识吗
这里说的『高大上』的专业课,主要指算法、数据结构、操作系统、编译原理、线性结构、离散数学等等。对于大学不是计算机专业,但以后想要从事前端开发工作的同学来说,这些『高大上』的计算机专业课是否有必要花时间去了解呢?
观点一:
如果你只希望做一个普通的码页面的前端,一点一点的积累一些经验和技巧以谋求生活,那么是不需要的。
如果你热爱代码,热爱前端,希望让自己的工作越来越有趣,越来越有意义,那么非常有用的。
随着时代的变革,前端的职能已经不仅仅只是简单的切图制作页面了。前端工程师的职能也开始越大越全越深入,而且前端技术的发展也迫使我们需要有更高的职业素养。这个时候的前端工程师,首先,是一名工程师。
要学习这些基础课程的原因有三点:
前端的职能在发生转变,我们需要应对桌面端web,桌面端应用,移动端web,hybrid,node应用等等不同的挑战。虽然说这些可能是可以继续细分下去的,但是我觉得作为一个称职的前端,理应有可以自己掌控这些知识的能力。
前端的技术,工具发展速度极快。例如我们现在常用的babel,eslint,如果你想自己写一些loader,plugin,是不是需要一些编译原理相关的知识?常用的node,如果不了解服务器端开发,那么写出来的代码一定非常糟糕。至于webgl之类的就更不用说了。
高新技术的门槛的不断下降。在过去,图像识别,机器学习等的门槛都相对较高,但是在现在,完善的工具库已经给了普罗大众一个非常低的使用门槛。而随之而来的,就是别的技术对于这些技术的低成本应用。你是否有考虑过用图像识别来做一定程度的界面生成或者测试?或者机器学习对于前端的应用。这些都是令人兴奋的场景。
观点二:
『基础决定你可能达到的高度,而业务决定了你的最低瓶颈』,两者不可偏废。
前端的发展非常快,以至于你今天关注的新东西,明年再看可能就截然不同甚至被废弃了。所以保持高的学习力来应对这种变化非常重要。高的学习力在很大程度上和你的计算机基础紧密相关(先抛开智力等不可抗因素)。
现在纯前端范畴里还几乎没有出现新创的知识领域。但是反过来说,从来没有一个领域有Web前端这么飞速发展,不断的有在旧知识体系在它上面重演。我记得有一句名言大概是这个意思:所有东西都会用js实现一遍。 我现在深以为然。 我相信在很多人也看出来了,前端这些年看似发展的非常蓬勃,但其实并没有太多新鲜的东西,一切都是重演。计算机基础是以不变应万变的秘诀。现在的前端现在已经不再需要『我会写java后台代码』等等愚蠢的强调来站直腰板了,成熟的公司已经开始重视前端带来的实际价值,。所以前端本身当然不能固步自封,巩固计算机基础,用以灵活应用到日常业务,用以吸收新鲜技术,也就是自然而然的事情。
总结:
你应该学什么知识,会用到什么知识,几乎只和你做的工作有关。
如果你目的是成为基础扎实,技能门槛很高(甚至无所不能)的工程师,那么学那些没什么不好的,甚至是必须的。
但如果你就是想做个discuz、百度贴吧、淘宝、支付宝的前端,那么投入那些就不一定真的划算了。
另一方面,在学好目标技能,感觉很难进展的情况下,学习更深更广的领域,不失为一条突破瓶颈的好办法。前提是,你真属于那10%甚至1%。
6、discuz前端如何学?
布局主要是修修改模板的那些PHP文件和css文件,而样式主要是修改那些图片文件,修改的话建议你用dreamweaver cs4
关于discuz前端开发和discuz插件开发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。