DEDECMS,文章列表按时间顺序排列怎么修改?
一、织梦(Dedecms)简介:
织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历了二年多的发展,目前的版本无论在功能,还是是易用性方面,都有了长足的发展,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用本系统。织梦内容管理系统(DedeCms)基于PHP+MySQL的技术架构,完全开源加上强大稳定的技术架构,使你无论是目前打算做个小型网站,还是想让网站在不断壮大后系仍能得到随意扩充都有充分的保证。
二、织梦(Dedecms)模板解析引擎概述:
织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。
1、织梦模板引擎的代码样式有如下几种形式:
{dede:标记名称 属性='值'/}
{dede:标记名称 属性='值'}{/dede:标记名称}
{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称}
小提示:对于{dede:标记名称 属性='值'}{/dede:标记名称}这种形式的标记,在21版中,表示结束只需要用“{/dede}”,但V3中需要严格用“{/dede:标记名称}”,否则会报错。
2、织梦模板引擎内置有多个系统标记,这些系统标记在任何场合都是能直接使用的。
(1) global 标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:
a、{dede:global name='变量名称'}{/dede:global}
b、{dede:global name='变量名称' /}
其中变量名称不能加$符号,如变量 $cfg_cmspath ,应该写成
{dede:global name='cfg_cmspath' /} 。
(2) foreach 用来输出一个数组,形式为:
{dede:foreach array='数组名称'}[field:key/] [field:value/]{/dede:foreach}
(3) include 引入一个文件,形式为:
{dede:include file='文件名称' /}
对文件的搜索路径为顺序为:绝对路径、include文件夹、CMS安装目录、CMS主模板目录
3、织梦标记允许在任何标记中使用函数对得到的值进行处理,形式为:
{dede:标记名称 属性='值' function='youfunction("参数一","参数二","@me")'/}
其中 @me 用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:
{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me")' /}
三、DedeCms 模板制作规范:
DedeCms系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,DedeCms支持自定义频道模型,用户自定义新频道模型后,需要按该模型设计一套新的模板。
1、概念,设计和使用模板,必须要理解下面几个概念:
1)板块(封面)模板:指网站主页或比较重要的栏目封面使用的模板,一般用“index_识别IDhtm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。
2)列表模板:指网站某个栏目的所有文章列表的模板,一般用 “list_识别IDhtm” 命名。
3)档案模板:表示文档查看页的模板,一般用 “article_识别IDhtm” 命名。
4)其它模板:一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。
2、 命名,为了规范起见,织梦官方建议使用统一的方式来命名模板,具体如下:
1、模板保存位置:
模板目录:{cmspath/templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件}
一般的模板位置:“/templets/default”
2、 模板文件命名规范:
1)index_识别IDhtm:表示板块(栏目封面)模板;
2)list_识别IDhtm:表示栏目列表模板;
3)article_识别IDhtm:表示内容查看页(文档模板,包括专题查看页);
4)searchhtm: 搜索结果列表模板;
5)indexhtm: 主页模板;
注解:
你的系统各个内容频道的[识别ID]分别为:
例:list_imagehtm 表示是就是内容类型为集的栏目默认列表模板。
3、主要标记参考
1、arclist 标记
这个标记是DedeCms最常用的一个标记,其中 hotart、coolart、likeart、artlist、imglist、imginfolist、specart 这些标记都是由这个标记所定义的不同属性延伸出来的。
作用:获取一个指定的文档列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法:
{dede:arclist
typeid='' row='' col='' titlelen=''
infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
自定义样式模板(InnerText)
{/dede:arclist}
本标记等同于artlist、imglist、imginfolist标记,其中与artlist是完全等同的,与imglist、imginfolist仅是默认的底层模板不同。
(2)属性参考:
[1] typeid='' 表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
[2] row='' 表示返回文档行数,如果和col联合使用,刚结果数等于row col;
[3] col='' 表示分多少列显示(默认为单列);
[4] titlelen='' 表示标题长度;
[5] infolen='' 表示内容简介长度;
[6] imgwidth='' 表示缩略图宽度;
[7] imgheight='' 表示缩略图高度;
[8] type='' 表示档案类型,其中默认值或type='all'时为普通文档
type='commend'时,表示推荐文档,等同于
type='image'时,表示必须含有缩略的文档
[9] orderby='' 表示排序方式,默认值是 senddate 按发布时间排列。
orderby='hot' 或 orderby='click' 表示按点击数排列
orderby='pubdate' 按出版时间排列(即是前台允许更改的时间值)
orderby='sortrank' 按文章的新排序级别排序(如果你想使用置顶文章则使用这个属性)
orderby='id' 按文章ID排序
[10] keyword='' 表示含有指定关键字的文档列表,多个关键字用","分开
[11] channelid='数字' 表示特定的频道类型,内置的频道:专题(-1)、文章(1)、图集(2)、Flash(4)、软件(3)
[12] limit='起始,结束' 表示限定的记录范围,row属性必须等于"结束 - 起始",mysql的limit语句是由0起始的,如 “limit 0,5”表示的是取前五笔记录,“limit 5,5”表示由第五笔记录起,取下五笔记录。
(3)底层模板变量
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
其中:
textlink = a href='arcurl'title/a
typelink = a href='typeurl'typename/a
imglink = a href='arcurl'img src='picname' border='0' width='imgwidth' height='imgheight'/a
image = img src='picname' border='0' width='imgwidth' height='imgheight'
变量调用方法:[field:varname /]
如:
{dede:arclist infolen='100'}
[field:textlink /]
br
[field:info /]
br
{/dede:arclist}
2、field 标记
这个标记用于获取特定栏目或档桉的字段值及常用的环境变量值
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:field name=''/}
(2) name 属性的值:
板块模板:phpurl,indexurl,indexname,templeturl,memberurl,powerby,webname,specurl
列表模板:position,title,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,栏目表dede_arctype的所有字段
其中 position 为 “栏目一 栏目二” 这样形式的链接,title则为这种形式的标题
文档模板:position,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,id(同 ID,aid),档案dede_archives表和附加表的所有字段。
3、channel 标记
用于获取栏目列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:channel row='' type=''}
自定义样式模板(InnerText)
{/dede:channel}
(2)属性
[1] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)
[2] type = top,sun,self
type='top' 表示顶级栏目
type='sun' 表示下级栏目
type='self' 表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(这里仅表示栏目的网址)
例:
{dede:channel type='top'}
a href='[field:typelink /]'[field:typename/]/a
{/dede:channel}
4、mytag 标记
用于获取自定义标记的内容
适用范围:封面模板、列表模板、文档模板
基本语法
{dede:mytag typeid='' name='' ismake='' /}
属性
[1] typeid = '数字' 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目 - 通用标记(typeid=0)的同名标记”。
[2] name = '' 标记名称。
[3] ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。
5、vote 标记
用于获取一组投票表单
适用范围:封面模板
基本语法
{dede:vote id='投票ID' lineheight='22'
tablewidth='100%' titlebgcolor='#EDEDE2'
titlebackground='' tablebgcolor='#FFFFFF'}
{/dede:vote}
6、friendlink 标记,等同 flink
用于获取友情链接
适用范围:封面模板
基本语法
{dede:flink type='' row='' col='' titlelen='' tablestyle=''}{/dede:flink}
属性注解:
[1]type:链接类型,值:
a textall 全部用文字显示
b textimage 文字和图得混合排列
c text 仅显示不带Logo的链接
d image 仅显示带Logo的链接
-------------------------------------
[2]row:显示多少行,默认为4行
[3]col:显示多少列,默认为6列
[4]titlelen:站点文字的长度
[5]tablestyle: 表示 table 这里的内容
7、mynews 标记
用于获取站内新闻
适用范围:封面模板
基本语法
{dede:mynews row='条数' titlelen='标题长度'}Innertext{/dede:mynews}
Innertext支持的字段为:[field:title /],[field:writer /],[field:senddate /](时间),[field:body /]
8、loop 标记
用于调用任意表的数据,一般用于调用论坛贴子之类的操作,请参阅论坛扩展插件。
9、channelartlist 标记
用于获取频道的下级栏目的内容列表
适用范围:封面模板
语法:
{dede:channelArtlist typeid=0 col=2 tablewidth='100%'}
table width="99%" border="0" cellpadding="3" cellspacing="1" bgcolor="#BFCFA9"
tr
td bgcolor="#E6F2CC"
{dede:type}
table border="0" cellpadding="0" cellspacing="0" width="98%"
tr
td width='10%' align="center"img src='[field:global name='cfg_plus_dir'/]/img/channellistgif' width='14' height='16'/td
td width='60%'
a href="[field:typelink _fcksavedurl=""[field:typelink" /]"[field:typename /]/a
/td
td width='30%' align='right'
a href="[field:typelink /]"更多/a
/td
/tr
/table
{/dede:type}
/td
/tr
tr
td height="150" valign="top" bgcolor="#FFFFFF"
{dede:arclist row="8"}
·a href="[field:arcurl /]"[field:title /]/abr
{/dede:arclist}
/td
/tr
/table
div style='font-size:2px' /div
{/dede:channelArtlist}
channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套
{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist}
标记。
(1) 属性
typeid=0 频道ID,默认的情况下,嵌套的标记使用的是这个栏目ID的下级栏目,如果你想用特定的栏目,可以用","分开多个ID。
col=2 分多列显示
tablewidth='100%' 外围表格的大小
10、page 标记
表示分页页面的附加参数
适用范围:列表模板
语法:
{dede:page pagesize="每页结果条数"/}
11、list 标记
表示列表模板里的内容列表
语法:
{dede:list col='' titlelen=''
infolen='' imgwidth='' imgheight='' orderby=''}{/dede:list}
底层模板变量
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
12、pagelist 标记
表示分页页码列表
适用范围:列表模板
语法:
{dede:pagelist listsize="3"/}
listsize 表示 [1][2][3] 这些项的长度 x 2
13、pagebreak 标记
用途:表示文档的分页链接列表。
适用范围:仅文档模板。
语法:{dede:pagebreak /}
14、fieldlist 标记
用途:获得附加表的所有字段信息。
适用范围:仅文档模板。
语法:
{dede:fieldlist}
[field:name /] : [field:value /] br
{/dede:fieldlist}
以上就为大家介绍了dedecms模板制作教程的基础知识,由于知识比较杂且多特别是标记语法讲解那段,所以需要大家多多用心学习下,只要用心了,我相信大家都会成为织梦(dedecms)高手的。
织梦模板安装好了 但是大图显示不出来怎么办
请按照以下步骤检查:
1、检视空间中是否存在大图,能否正常开启。
2、用浏览器除错工具(如firebug)检视大图所在网页中大图的路径,看看和空间中的路径是否一致。
织梦模板安装中文显示全错,编码安装是正确的准确的说是编码错误引起的,建议你还是详细的检查一下编码的问题。你可以直接到根目录下,放模板里的程式码里面去检视,如果原来的程式码就是错了那说明是模板的问题,如果你检视程式码是正常的,而出现的效果却是乱码,那肯定是编码问题,请详细找找。
使用zmaker模板 但是我的字太多了模板显示不出来怎么办模板基本上都是有字数限制的,这是没法改变的。
但是如果你会flash,可以利用动态文字来突破这个限制,或者,你可以用杂志软体自带的文字编辑功能,它也是没有字数限制的。
最后跟你说一下,zmaker的模板,是没有反编译软体的,你不要在它上面白费力气了。
织梦dedecms模组外挂怎么显示不出来有4中常见问题,可以参考一下问题寻找对应答案:
第一种:
问题描述:本地测试正常,上传到空间后列表空白,重新安装都是空白,空间所有档案使用 777 许可权都一样是空白。
解决方法:找到\data\module下的moduleurllisttxt,如果moduleurllisttxt里没内容就是被破坏了,从安装包里提出吧。
第二种:
问题描述:上传到空间后列表空白,重新安装都是空白,空间所有档案使用 777 许可权都一样是空白,将moduleurllisttxt上传覆盖也是空白(伺服器快取是个问题,所以这种方法很实用)。
问题原因:DedeV57以后的版本出现管理列表无法显示的情况多一些,这是因为官方将后台模组的列表远端的放在了官方服务 器上了。虽然这样可以让织梦的使用者获得更多官方的模组,但有时网站在某个时间段连线不上织梦官方伺服器,就可能无法写入模组列表档案内容,造成模组列表空 白。总的来说,/data/module/moduleurllisttxt模组列表档案没有内容是织梦模组管理列表空白的直接原因。
解决方法:开启/dede/module_mainphp档案(其中dede为您的后台管理目录),注释掉大约91行和95行的如下程式码:
$modules_remote = $dm->GetModuleUrlList($moduletype,$mdurl);
$modules = array_merge($modules,$modules_remote);
这样织梦程式就不会从远端去获取列表,而是从本地获取列表了。
第三种:
问题描述:整个织梦模组管理页面都是空白的。
问题原因:还有一种情况也会造成织梦管理模组管理后台的列表无法显示,就是禁用了 fsockopen()函式,这个函式是织梦用来获取远端模组管理列表的。
解决方法:可以用问题二的解决方法禁止织梦远端获取管理列表;
另外就是开启 fsockopen()函式,如果你的主机支援这么做的话。
第四种:
问题描述:下载原始码下来后在本地安装后台模组可以正常显示,但是上传到空间之后模组显示不了了,这种情况一般是你的空间引数或者设定的问题,你可以咨询空间商,或者试图尝试一下这种方法。
解决方法:将include中的档案dededownclassphp进行相关的修改,具体就是 将$this->m_fp=@fsockopen($this->m_host,$this->m_port,$errno,$errstr,10);
替换为$this->m_fp=@stream_socket_client($this->m_host':'$this->m_port,$errno,$errstr,10);
注意事项:
造成空白的原因一:data/module/中的moduleurllisttxt档案被破坏,这时我们可以下载下来开启看一下,如果内容为空,就说明被破坏了,我们从原始码中提取一个覆盖上去就行了;
造成空白的原因二:module_mainphp档案受损,我们从原始码中提取出来上传覆盖即可,这里强调的是,做这些之前,一定要备份,防止出现意想不到情况,因为程式这个东西不稳定因素还是比较多的
造成空白的原因三:织梦DedeCMS后台模组管理列表不显示的原因还有其他的,比如织梦程式没有足够的许可权,无法写入/data/module/moduleurllisttxt档案,也会造成列表空白的。
织梦模板安装具体怎么装 ,怎么把模板完全套成功把模板上传到织梦的预设模板目录,/templets/default/,然后套用标签即可
织梦404页面设定的显示不出来怎么办显示不出来的话需要检查的是路径有没有设定正确,还有确定有没有上传在伺服器上面。
织梦模板替换后出现乱码怎么办你的模板 和你的织梦字元编码不一致吧,比如织梦的字元编码是gb2312,而模板是utf-8,这是肯定会乱码的。
所以你要核对字元编码了。
乱码百分之九十是字元编码不一致造成的。
用手机看本地除错的织梦模板,首页的一些载入不出来,视讯显示空白手机如果没有用jq延迟,直接写地址,那就重新整理一遍看看,视讯一般要播放器,电脑支援,手机不支援flash的,还有其他技术问题可直接找额
摄像头 怎么安装 安装好拉怎么显示不出来你那个驱动不对的 买摄象头里面都有个驱动光碟 你没的话就去网上下载个你摄象头型号的驱动 就行拉
淘宝flash模板怎么显示不出来这个FLASH模板不是太稳定哦
尝试一下清除自己浏览器的IE快取和临时档案看看!
修改arclist标签的asc属性。
具体代码如下:
{dede:arclistorderway=''asc'}
文章按照顺序排列
{/dede:arclist}
解析原因:
orderway=''值为desc或asc,指定排序方式是降序还是顺向排序,将值修改asc就是顺序排列。
扩展资料
其他属性
1、typeid=''表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
2、row=''表示返回文档列表总数;
3、col=''表示分多少列显示(默认为单列);
4、titlelen=''表示标题长度;
5、infolen=''表示内容简介长度;
6、imgwidth=''表示缩略图宽度;
7、imgheight=''表示缩略图高度;
8、type=''表示档案类型,其中空值、不使用这个属性或type='all'时为普通文档
参考资料:
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 utf8,
目标将网站由UTf8版本转换为GBK版。
2
写在转换之前:
要转换dede系统的版本,实际上是编码的转换的问题,要将mysqls数据从utf8转换为gbk编码,将模板文件的编码也要转换为GBK模式。
在本文中两个核心工具,帝国备份王和Editplus 编辑器。
用ebak2008工具的备份/恢复功能,巧妙dede数据库utf-8编码的无错转换为gbk编码格式。
站点文件的转换就用Editplus 编辑器。
END
二数据的备份
1
在转换之前,将dede做整站备份,备份内容包括mysql数据库,dede站点文件,如果网站容量非常大的话,可以登录php空间管理后台将整个网站进行打包,然后下载。
备份的目的就是了防止转换失败后还有退路。
登录dede后台,选择“系统 ”中 “数据库备份/还原 ”备份dede数据库。
2
备份完毕,请登录ftp下载到本地电脑保存。
Dede备份数据存储位置:/data/backupdata
END
三数据库编码转换
1
解压缩ebak2008,将ebak2008文件夹上传到网站空间的根目录。
用帝国备份王(ebak2008)反向操作,强制转换dedecms v57 utf8版本的mysql数据编码为gbk。
2
打开帝国备份王(ebak2008)工具(地址为:原域名/ebak2008),登陆
3
在登陆后的帝国备份王界面,点击“备份数据”,
4
备份数据界面,选择要备份的数据库,请注意操作,别选错了。
5
非常重要!php虚拟主机安装的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 编辑器修改,完毕后,上传覆盖即可。
在站长这个圈子里,dedecms 是大家都比较熟识的一个网站程序,dedecms以功能强大和seo友好受到众多站长的青睐。新手站长用这个程序搭建一个站也是很容易的事,但是看着别的网站那么精美的页面,又看看自己使用的默认模板,总有些怅然若失的感觉。其实对于一个新手站长来讲,你也可以通过自己的努力去仿制这个网页作为自己的模板。
理论上对于任何一个网页,dedecms是都可以仿制的,只是复杂程度不同,这里讲的复杂程度其实只是些重复的工作。新手站长只要细心去做,发现并不会太困难,当然一定的知识储备还是需要的。事实上,太多的新手站长是被自己给吓倒了,一说到仿制网页模板,马上就会摇头说我不懂php,不懂css我怎么去仿呀。其实仿站对这个几乎没有要求的,只要我们能看懂html,并且知道dedecms程序是怎么对标签调用的,就可以开始制作了。在制作的过程中,你可能会遇到这样或者那样的问题,这个时候你可是要用好“百度”的,要记住他永远是你最好的老师。
前面讲到dedecms对标签的调用,网上的教程有很多,我们也可以查看帮助文件。也许一下子看到那么多的标签,好多新手站长的头都大了。其实,在我们仿制模板的过程中,真正能用的就那么几个而已,比如:{dede:arclist}获取指定文章列表标签、{dede:channel}获取栏目列表页等。我们只要把常用的几个搞明白了,就可以动手了。每个标签里还会出现一些属性,如这一句调用:{dede:arclist row=’6’},其中的”row”就是标签的一个属性,就是调用多少篇文章的意思,而后面的”6”就是这个属性的值,就是本次调用6篇文章。属性基本上是见名而知义的。
千万不要等到把所有的标签都搞得滚瓜烂熟再动手去仿制,这种上手的方法不是说不好,而是太慢了。最快的学习过程就是动手去做,做的过程中你会遇到各种问题,而通过努力不断的解决掉问题的过程,就是你最好、最实效的学习过程。你第一次仿制模板时可能要用5天,当你第二次的时候也许只要3天,这样连续找几个不太复杂的站进行仿制练习,你会感慨“原来仿站不过如此而已”。
仿制模板最快速上手的方法是对比着仿。对比着仿就是对比着dedecms的默认模板来仿,比如我们要仿制的网站首页的title/title之间显示的是这个网站的标题,而默认模板里在这对标签之间是{dede:globalcfg_webname/},我们只要把这个标签内容复制过去,把原来的内容覆盖掉就可以了,甚至不用知道这个标签是什么意思。只要是功能相同的地方我们都可以采用这种只动鼠标就可以解决的方法。
仿制模板最应该关注的是两个问题:其一是素材路径的问题,我们下载的网页路径都是正常的,但当我们把网页放入我们网站目录时可能会产生调用异常,因为路径的改变可能导致无法读取到一些样式和素材。这个时候我们就要对路径进行修改,建议使用以网站根目录为起始路径的绝对路径,即形如”/templets/default/style/dedecmscss”这样的路径;其二是编码问题,一定要做到仿制好的模板的编码和你所安装的dedecms的编码一致,要不然,生成的网页是一片乱码。解决这个问题使用编码转换软件或者一些工具网站提供编码转换工具就可以了。
仿制网页模板不像我们相像中那么难,只要花点时间学习一下,很容易上手的,关键是思想上不能被吓倒。仿制网页模板不是太大的技术活,很多时候更像是体力活。一般情况投入10天的时间,就会让你以后的模板无忧的。
0条评论