谁清楚phpcms和dedecms各个缺点和优点
1 dedecms网站GBK与UTF
在帮别人修改织梦模板的时候,别人的要求是: 在现有的织梦做网站上 增加一个多语言界面,就是在现有的中文界面上新增 英文,日文 和韩文。
第一个当然想得就是在织梦后台新增几个这样的 栏目。然后只要将模板做成其他的语言就可以调用了。
但是也遇到了一个问题就是它现有网站的织梦是gbk的。
这种gbk是一种中文编码,若想出现其他语言文字就必须转化成UTF-8的,所以自己就再网上整理了一下 找到了一个比较不错也适合自己的转换方式:
1 备份网站的所有数据
这一部分是很重要的 ,尤其是数据库的备份。先织梦后台备份,然后再整站进行备份
2导出数据库文件并转换。
这一部分需要使用到PHPMyadmin 我们在MyAdmin 找到网站的数据库名,默认的数据表前缀为dede_ 全选这些数据表,选择导出。将导出的。sql文件在本地 用专门的编辑工具打开(可以使用DW或者是Notepad++等)
我们查找CHARSET=gbk 全部替换为CHARSET=utf8
查找gb2312全部替换成utf8
然后保存。
3模板文件的转换
用DW打开模板文件,选择修改——页面属性——标题/编码 :
织梦gbk转utf8
我们只要将编码选择为 UTF-8即可,下面还有一个选择就是 是否包含Unicode签名(BOM) 这个不要选择 否则在使用织梦模板插入include时会出错
若发现有的文字出现了乱码 自己手动更改即可!
将全部的模板文章转换问UTF-8格式的!
文件基本上就转换好了!
4安装UTF-8格式的织梦安装包
你使用的是织梦哪个版本的织梦就安装相应的UTF-8格式的安装包,安装好之后使用MyAdmin 将这个新数据库名中格的表删除,并将转换好的。ssql文件导入即可,将转换好的模板文件覆盖。
2 织梦系统怎么把utf编码转成gbk
首先登陆dedecms网站后台,使用系统菜单下的数据库备份/还原功能,将网站的数据备份,记住要备份数据表结构,然后使用FTP工具将备份好的数据文件下载到您的电脑上。
备份的文件中有tables_struct_xxx这样一个文件,用dreamweaver或EditPlus打开这个文件,使用查找与替换命令,将CHARSET=gbk替换为CHARSET=utf8,然后要保存。打开准备的转码软件,将第所备份的文件(包括上面修改过的文件),将GBK转换为UTF-8格式。当然,转换好的文件一定是在一个新的文件夹里面,以便区分原来的GBK的文件。
至此这一步,就将数据库文件由GBK格式成功的转换为了UTF-8格式。
3 DEDEcms,GBK和UTF8版本互相转换有什么方法
当前安装版本为:dedecms v57 utf8,目标将网站由UTf8版本转换为GBK版。
2写在转换之前:要转换dede系统的版本,实际上是编码的转换的问题,要将mysqls数据从utf8转换为gbk编码,将模板文件的编码也要转换为GBK模式。在本文中两个核心工具,帝国备份王和Editplus 编辑器。
用ebak2008工具的备份/恢复功能,巧妙dede数据库utf-8编码的无错转换为gbk编码格式。站点文件的转换就用Editplus 编辑器。
END二数据的备份1在转换之前,将dede做整站备份,备份内容包括mysql数据库,dede站点文件,如果网站容量非常大的话,可以登录空间管理后台将整个网站进行打包,然后下载。备份的目的就是了防止转换失败后还有退路。
登录dede后台,选择“系统 ”中 “数据库备份/还原 ”备份dede数据库。2备份完毕,请登录ftp下载到本地电脑保存。
Dede备份数据存储位置:/data/backupdataEND三数据库编码转换1解压缩ebak2008,将ebak2008文件夹上传到网站空间的根目录。用帝国备份王(ebak2008)反向操作,强制转换dedecms v57 utf8版本的mysql数据编码为gbk。
2打开帝国备份王(ebak2008)工具(地址为:原域名/ebak2008),登陆3在登陆后的帝国备份王界面,点击“备份数据”,4备份数据界面,选择要备份的数据库,请注意操作,别选错了。5非常重要!虚拟主机安装的dede系统是utf8版,在备份的时候不能选择 “utf8编码进行备份 ”。
在这里要反向操作(如果是utf8就选gbk,如果是gbk就选utf8)。备份时请特别注意:选择数据库编码为gbk,不能选择其它方式,否则在转换后会出现乱码。
数据存储目录命名为:date_gbk_20150618160956。一般用默认的就可以了。
点击,屏幕最下方的 开始备份 ,等待完成操作!END四将gbk格式的dede数据库备份恢复到系统登陆主机ftp后台,将原来的dedecms的目录dede,改为deded_utf8_bak上传DedeCMS-V57-GBK-SP1tar,到主机后台进行解压缩,将其中的uploads文件夹改为dede,移动到public_html/目录中,此操作可以节省大量上传的时间接着就可以重新安装dede系统了,安装过程不作演示在安装DedeCMS-V57-GBK-SP1版时,按默认安装即可。安装完毕后,进后台将插件之类的也重新安装好然后登录ebak2008数据库备份工具,选择“数据恢复”,恢复第二步骤中将utf8编码强制转换为gbk格式的数据库(date_gbk_20150618160956)。
帝国备份王(ebak2008)恢复数据仅需要50秒左右,速度相当的快。恢复数据后,请登录dede管理后台,重新生成一下网页。
检查首页无乱码,织梦网站管理系统(dedecms)utf8成功转换gbk。进入网站管理后台,检查数据库表,Mysql数据表无乱码:转换成功后的小错误,由于dede默认的utf8和gbk版本的差别,在转换成功后,“图文资讯”和“首页幻灯片”丢失,丢失的重新上传一下就OK!整个过程无报错,显示正常再次进入主机后台找到dede_utf8_bak目录下的uploads下的alimg目录(这个目录就是首页和上传的存放的位置),把这个目录加入到剪贴板,再进入dede目录下的uploads,复制剪贴板的文件到这里,这样就恢复正常了本站使用的是dede默认的模板,所以在转换的时候没有改动dede的模板文件,如果你的网站对DEDE的一些文件没有改动,直接按照我的方法就可以成功转换。
如果有改动的文件,请将你改动的文件转换为gbk编码。用Editplus 编辑器将站点文件中的utf8转换为gbk编码。
重点是dede模板文件编码的转换,细心的用Editplus 编辑器修改,完毕后,上传覆盖即可。
4 dedecms的UTF
我看了下他的模板,这个改动量就太大了。你要把模板里的这些文件依次打开,并将<meta ; charset=utf-8" />;改成<meta ; charset=gb2312" />;。而且他的plus里也要改。整理起来很麻烦。
以 DedeCMS-V57-GBK-SP1 来举例
下载下来之后打开压缩文件 就是DedeCMS-V57-GBK-SP1
打开DedeCMS-V57-GBK-SP1 里边有2个文件夹
分别是docs 和uploads
其中 docs 里有3个txt文件 分别是用户授权~ 程序更修复的列表 以及产品使用说明,这个文件夹不用管~ 看看就可以了
另外的uploads文件夹下就是网站程序了
将uploads目录下的所有文件复制到你的站点根目录下,打开你的网址就可以开始安装使用了
phpcms优点:
1 模块化安装,非常适合安装,拆卸,和拿到市场上去交易非常方便的。
2 灵活的标签语法,非常强大。
3 缓存做的非常优秀。几乎支持目前主流的几大缓存系统解决方案,file缓存,eaelerator缓存,memcache缓存,shmop缓存等
4 安全性也不错的。后台为了防范入侵,采用了cookie和session同时存在验证技术,才可以安全进入后台。
多次登录失败,开启验证码功能。防止机器人频繁猜口令。
5 数据库。在根目录下的include目录下,db_aessphpdb_mssqlphpdb_mysqlphp等,就照着他的方法,在增加几个也没问题的。
6兼容性。是在php4的基础上开发的,所以向下兼容性是不错的。在include/globalfuncphp 这个文件可以看到很多if(!function_exist()){},这些代码就是为了兼容php4相关函数。
phpcms缺点:
1 后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,将url写入数据库了。这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的。
2 分部式。 后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件. 如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了。
3数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,字段的类型,比如要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,而不是int,长度是默认的255modelfiled表,才发现该系统是将类型写到该表中了。
4加密/解密程序。目前已经在想相关安全网站已被爆以破解。这也不是什么新闻了。在开发中,关注下相关安全厂商发布的漏洞。
5 数据库抽象层。就以上提到的几个数据库文件。 db_mssqlphp db_mysqlphp db_aessphp 等对于数据库分布式,应该没问题的。 数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的。
Dedecms功能实用,模板功能使用简单。
1把织梦程序下载到电脑端,根据需求选择下载版本
2将下载的程序解压,等到文件dedecms-57,打开upload文件夹,直接将里面的文件全部压缩
3用ftp工具链接到网站空间
4直接把压缩文件上传到网站的根目录后进行解压
5访问自己域名,点击同意即可完成网站的搭建
不知道你是本地安装 还是服务器安装。
如果你是本地安装的话 可以找一个php环境的集成软件 安装以后,把dede的程序放进去 就可以自动安装了。
如果是服务器的话,上传到程序空间 服务商一般会提供相关的数据库信息 按照提示安装即可。
你看下这资料
参考资料:
◆DedeCms模板安装/制作概述:
DedeCms系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于DedeCms支持自定义频道模型,用户自定义新频道模型后,还需要按该模型的字段设计一套新的模板,此外,DedeCms也支持使用风格的形式使用模板,默认风格是 default,它表示系统默认使用 cmspath/templets/default 这个文件夹的模板,如果你下载了一套新的模板,你可以不必要删除 default 原有的文件,把下载的模板文件夹命名你想要的风格名称,如 style2 等,然后在后台修改了默认的模板风格名称为 style2 ,那系统将使用 templets/style2 这文件当作默认模板,但是若你手工指定了栏目模板的位置,则后台参数风格的定义无效。
一、概念,设计和使用模板,必须要理解下面几个概念
1、板块(封面)模板:
指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别IDhtm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。
2、列表模板:
指网站某个栏目的所有文章列表的模板,一般用 “list_识别IDhtm” 命名。
3、档案模板:
表示文档查看页的模板,如文章模板,一般用 “article_识别IDhtm” 命名。
4、其它模板:
一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。
二、 命名,DedeCms模板默认命名规则如下
1、模板保存位置:
模板目录:cmspath/templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件}
2、 模板文件命名规范:
(1)index_识别IDhtm: 表示板块(栏目封面)模板;
(2)list_识别IDhtm: 表示栏目列表模板;
(3)article_识别IDhtm: 表示内容查看页(文档模板,包括专题查看页);
(4)searchhtm: 搜索结果列表模板;
(5)indexhtm: 主页模板;
注解:[识别ID]可以在“频道模型管理”的地方获得,当然,你也可以在“频道模型管理”的地方确定某个频道的模板命名。
例:list_imagehtm 表示是就是内容类型为集的栏目默认列表模板。
article_articlehtm 表示的是文章查看页模板。
三、其它模板说明
1、默认底层模板
位置: cmspath/templets/system
功能:在没有指定标记的默认底层模板的时候,系统将自动调用这个文件夹的相应文件作为底层模板。
2、插件目录模板
位置: cmspath/templets/plus
功能:评论、友情链接、RSS地图等模板。
3、会员后台模板
位置: cmspath/member/templets
功能:会员后台的模板。
四、二次开发
DedeCms主要的模板解析类是 include/inc_arcpart_viewphp、include/inc_arclist_viewphp、include/inc_archives_viewphp,这些类是与pub_dedetagphp一起工作的,如果你想为文档模板、列表模板、板块模板增加一些功能,可以直接修改这几个类的ParseTemplet()或ParseTempletsFirst()这类的方法,把标记名称,属性对应试相应该的功能函数即时。
希望能帮到你
0条评论