修改discuz模板都需要注意什么

我自己经常用discuz做系统。discuz作为中国开源论坛的老大,现在来说pc端的程序已经很完善。也有很多的不如意的地方,今天这篇文章就暂时不说不如意的地方了。主要说说采用discuz后,如何修改它的模板。相信很多朋友是很想修改它的模板的。

我想先从discuz的架构原理谈起。

discuz的架构总体来说也是分三层的:与数据库交互层即db层、逻辑控制层、前台显示层。

db层分管的工作呢,是和数据库打交道,简单的说就是用户发表一篇文章,这个文章得放在哪储存呢,前台显示层就把这些数据交给逻辑控制层,逻辑控制层呢再加工处理一下,最后统一交给干粗活的db层。db层把数据放在相应的数据库表里。同理,要是浏览文章和浏览评论这些内容的时候,也是要倒一遍这样的流程。

那么问题来了:为什么要倒这几遍手呢?

问题很简单又很复杂:简单的是只有分工,系统才会运行的流畅,系统运行的才会合理安全,程序编程和社会工作其实是一个原理的。复杂的是系统在可扩充性、制定接口上以及其他协同开发上都必须采用的。试想下:一个好几十号人共同开发的程序,你开发你的他开发他的,那不是太乱了。另外,如果数据量太大,需要换一个更大级别的数据库该如何换呢。

好吧,这个问题暂时谈到这里。只需要了解原理就可以应付discuz的模板编辑了。

discuz的模板编辑是前台显示层的工作。对于这么多的用户,discuz系统肯定会有数据交互和数据浏览大的问题,比如杭州19楼这样每天几十万人访问的系统。如果每个数据都进行一遍数据库的提取,那不得把数据库累死,直接机器挂掉。

为了防止这个普遍的问题,discuz在前台显示层采用了缓存机制、门户方面采用了生成静态html机制。这些都是一次生成后,便不再和数据库打交道了。这样,对于服务器来说,是不是很清爽呢,只需要管理文件传输就可以了,那些数据库的脏活累活服务器很少管了。页面自然浏览快了,嗖嗖的。

so,discuz的模板制定时需要考虑到缓存的common.css和真正的common.css。你需要修改模板类目里的css,html文件,然后再次更新一下缓存,再次生成一遍html,这样才会达到修改discuz的模板。

具体的修改路径在哪个文件夹呢?

在/template/default/common/common.css

如果想直接看效果,可以先修改缓存的css文件,但是一定要记住,他在下一次缓存更新时是还原的,也就是说从源template里的那个common.css里生成的。

缓存的css控制文件在这里:/data/cache/style_1_common.css 如果需要找其他文件的话,也是在那个目录里的。

模板也是如此的原理。只不过,模板分为了门户、论坛等的文件夹,即/template/default/下的不同文件目录里,相应的也会在data/cache/目录里生成缓存文件,或者采用生成静态html里的话,修改完html后需要重新生成一下。

剩下的就是学习div+css了。在这里就不多说了。

目前我修改过的discuz模板很多,比如梦见蛇周公解梦这两个就是完全不同的模板样式。也有站长之家的那种样式修改,大家也可以参考参考。

下一篇文章,我想谈谈我的织梦文章修改的心得,采用的案例是那个股票配资网站。

转载请注明:二飞日志 ? 修改discuz模板都需要注意什么

时间: 2024-12-28 11:34:48

修改discuz模板都需要注意什么的相关文章

discuz教程:discuz模板js与jQuery冲突的解决方案

今天在做discuz模板的时候,用到jquery的时候和原来主题js冲突.这个主要是Discuz X使用了$(id)作为dom节点的获取方法,而$符号刚好与jQuery的默认符号相冲突. 以下是基于之前的Discuz X和jQuery冲突的解决办法.给大家做个参考! 将jQuery的js文件jquery-1.8.0.min.js放到/static/js目录下,以下两个方法共用此文件,如不是放在该目录下,后面的代码请对应修改. 解决方法1: 修改/template/default/common/h

Magento修改邮件模板内容

Magento 默认邮件模板 都是带着官方的标志和一些官方的基本信息.为了建立品牌形象我们需要把邮件模板中的所有官方信息换成自己的信息.修改步骤如下: 1.找到Magento的邮件模板文件(这里以 en_US为例),如下列文件:magento\app\locale\en_US\template\email\account_new.html:magento\app\locale\en_US\template\email\admin_password_new.html:magento\app\loc

discuz 模板中如何使用方法和语言标签?

第一个问题:如何调用方法? 关于模板中eval的使用{eval php 语句}比如:<!--{eval echo "Hello World!"}--> 工作中遇到一个小问题,discuz的手机模板中,需要切换收藏和取消收藏. 取消收藏,需要找到forum/viewthread.htm .forum/viewthread_node.htm 模板,在viewthread_node模板中修改取消收藏的 最低层代码 /source/include/spacecp/spacecp_f

JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 联系方式:[email protected] 一.http协议回顾: 在上一篇文章中:JavaWeb学习之Servlet(一)----MyEclipse及Tomcat的配置,我们通过在浏览器输入url,就能看到在MyEclipse中编写的Servlet资源,效果如下: 上图中,整个过程是这样的:浏览器中输入url后,会通过hosts文件/dns服务

discuz模板引擎

discuz是采用“编译型的模板”,就是指采用普通网页文件保存,在文件中插入需要动态显示数据的仿php的代码,最后进行编译成真正的php的文件保存为模板缓存文件,这个转换的过程就称为编译.在用户浏览页面的时候,会自动加载模板缓存文件,将php程序执行的结果代入这些文件中执行输出,当模板缓存文件丢失或者文件被修改,系统会自动监测这一点然后进行重新生成模板缓存文件. 页面缓存刷新原理:当开发者编辑过模板文件之后,Discuz! 模板解析器会匹配模板htm文件与缓存php文件的最后修改时间,如过模板h

密保修改有哪些流程?分享密保修改流程图模板及绘制技巧

密保修改相信大家都不陌生,比如我们在填报高考志愿的时候进入网站首页都会让我们填一下密码,这可不是最终的密码,在跳转的页面还会让我们修改密码,确保信息的安全性,那么,大家知道密保修改的流程有哪些吗?下面是分享的密保修改流程图模板及绘制技巧,希望可以帮助到有需要的朋友! 简介:该模板主要讲述了,在遇到危险之后对密保进行修改的几种常见情况与怎样修改密保的操作方法介绍,希望该模板可以给大家带来帮助. 如何绘制该流程图? 1.打开迅捷画图,点击页面右上角[模板]进入模板类型选择界面: 2.在上方搜索栏目中

MyEclipse中修改servlet模板

1.在MyEclipse目录下搜索com.genuitec.eclipse.wizards,得到搜索结果 com.genuitec.eclipse.wizards_8.4.100.me200912131330.jar(我的位置是:C:\Users\Administrator\AppData\Local\Genuitec\Common\plugins): 2.备份,复制粘贴一份,完全关闭MyEclipse: 3.使用winrar打开com.genuitec.eclipse.wizards_8.4.

修改tt模板让ADO.NET C# POCO Entity Generator With WCF Support 生成的实体类继承自定义基类

折腾几天记载一下,由于项目实际需要,从edmx生成的实体类能自动继承自定义的基类,这个基类不是从edmx文件中添加的Entityobject. 利用ADO.NET C# POCO Entity Generator With WCF Support生成的tt文件(比如model.tt)中找到 partial class partial class 修改tt模板让ADO.NET C# POCO Entity Generator With WCF Support 生成的实体类继承自定义基类

C#修改类模板

安装目录下 Program Files\vs2013\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class 注意:中文是2052 英文是1033 /*************************************************Author: Nai.King*Create Time $time$*Description:**Update History:***********************************