dedeCMS 怎样修改模板
◆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()这类的方法,把标记名称,属性对应试相应该的功能函数即时。
希望能帮到你
第一步:在织梦后台左栏点击“系统”;
第二步:选择“系统”菜单下的“SQL命令行工具”;
第三步:输入如下代码:
insert into `dede_arcatt`(sortid,att,attname) values(9,'d','评论');
alter table `dede_archives` modify `flag` set ('c','h','p','f','s','j','a','b','d') default NULL;
第四步:点击“确定”。
需要说明的是:
代码第1行:values(9,'d','评论') 是根据我们需要自行定义的,其中9是sortid的值,是不可重复的,也就是每添加一个自定义属性,sortid的值就应该递增到10,11,12,以此类推!d是alt的值,是自定义属性的标记,与已存在的标记符号不能重复,“评论”是中文名称,是方便人们直观地勒戒自定义属性的含义的,可以根据需要改为“网络”、“新闻头条”等。
代码第2行:set ('c','h','p','f','s','j','a','b','d'),括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,d排序第9位,则对应第一行代码中添加的自定义属性““评论d”。
dedecms模板更换方法一
将新模板覆盖templets下的文件最简单的更换模板的方法是直接覆盖templets目录下的所有文件,但是这样会导致原先的模板被覆盖。
dedecms模板更换方法二
通过后台管理,使DEDECMS去寻找模板目录
还有一种就是更换整个网站的模板目录。
系统管理
-->
站点设置
-->
默认模板风格
设置为目录名字
比如下载了一个新的模板,新模板目录为newtemplet
那么设置为
/newtemlet/default
这样基本模块的模板就会去该目录下寻找。
但是这样有一个问题,就是如果栏目已经创建好了,设置这个就会没有什么效果。不知道这是不是DEDE的一个BUG。
dedecms模板更换方法三
修改特定页面的模板
还有就是修改单独网页的模板,那么就去
频道管理
-->
网站栏目管理
-->
高级选项里选定模板地址
充分利用
/
这样的上级目录跳转到模板的目录下。
至于风格,我到现在看起来是不是必须修改模板里的CSS文件的地址?
dedecms模板更换方法四
修改源代码改变模板目录
发现另一种方法,更为直接:
修改include目录下的config_basephp下找到
$cfg_templets_dir
=
$cfg_cmspath'/templets';
只需要把这个修改为新的目录名字,然后HTML更新一下,所有的模板风格都改变了。
这种方法不推荐,不过你要是为了防止模板被盗到可以
还有个方法:把新模板直接上传到templets/default目录里,然后再点击栏目管理,在栏目高级参数那里选择新模板。
1编辑器打开plusdiyphp
2在40行左右找到此行代码:
$dede_fields=empty($dede_fields)'':trim($dede_fields);
3在这一行代码之下,加入代码,复制的话删掉代码中的空行
//增加必填字段判断
if($required!=''){
if(preg_match('/,/',$required))
{
$requireds=explode(',',$required);
foreach($requiredsas$field){
if($$field==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}else{
if($required==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}
//end
4保存完成后,在表单模版页面找到这行代码:
<formaction="/plus/diyphp"enctype="multipart/form-data"method="post">
在这行代码之下,加入代码:
<inputtype="hidden"name="required"value="数据字段名,数据字段名"/>
注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项
添加新字段--“表单提示文字”:姓名--“字段名称”:name
添加新字段--“表单提示文字”:邮箱--“字段名称”:email
此行代码应为:
<inputtype="hidden"name="required"value="name,email"/>
这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示“带号的为必填内容,请正确填写”,当然,这一句话可以改成其它的文字
网上看到另一种方法,未测试,仅作为资料收藏
js方法:
1先在要发布表单的模板上加
<scriptsrc='你的路径/jsjs'type="text/javascript"></script>
2在你自定义的路径新建文件jsjs,然后复制以下内容粘贴保存,代码:
<!--
$(document)ready(function()
{
//验证
$('complain')submit(function()
{
if($('name')val()==""){
$('name')focus();
alert("用户名不能为空!");
returnfalse;
}
if($('tel')val()=="")
{
$('tel')focus();
alert("联系电话不能为空!");
returnfalse;
}
if($('title')val()=="")
{
$('title')focus();
alert("标题不能为空!");
returnfalse;
}
if($('text')val()=="")
{
$('text')focus();
alert("具体内容不能为空!");
returnfalse;
}
})
});
-->
注:
$('complain')submit(function()//complain为自定义表单的ID,如果生成的表单没有可以自行加上,即id="complain"
if($('name')val()==""){
$('name')focus();//name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
3设置好后更新就可以看到效果了
希望本文所述对大家的dedecms建站有所帮助。
1、首先使用浏览器进入dedecms网站,登录到DEDECMS后台。
2、接着依次点击左侧功能菜单中的“模板”>>“默认模板管理”。
3、在模板列表找到要修改的模板,例如“文章频道封面”模板,点击“修改”。
4、然后在模板文件中找到下图所示代码,将此段代码修改为:{dede:arclist row='5' type='image'}。
5、最后保存模板编辑并更新,更新完成,就可以在文章详情页调用和修改购物车了。
当前安装版本为: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 编辑器修改,完毕后,上传覆盖即可。
您好,朋友。跟版网团队很高兴为您解答:
您是怎样一个需求,你的提问不是那么明确。首先您检查下您的文章内容页模板的作者是不是写的是固定的,如果是的话请修改为{dede:fieldwrite}
您如果是需要对已发布的文档进行作者修改,只需点击编辑文档,然后找到:
高级参数,作者的的地方修改即可。如下图:
需要把作者修改您想要的,只需到系统用户管理中,将笔名修改您想要的就行了,后续发布就是您设置的这个了。
也不知道我回答的是不是您所说的,如果不是的话,欢迎继续提问,我会跟进为您解答。
dede数据库字段说明:dede_addonarticle 附加文章表
aid int(11) 文章编号
typeid int(11) 分类栏目编号
body mediumtext 文章内容
dede_addonflash 附加Flash表
aid int(11) FLASH编号
typeid int(11) 分类栏目编号
filesize varchar(10) 文件大小
playtime varchar(10) 播放时长
flashtype varchar(10) 作品类型
flashrank smallint(6) 作品等级
width smallint(6) 影片宽度
height smallint(6) 影片高度
flashurl varchar(80) FLASH地址
dede_addonimages 附加图集表
aid int(11) 图集编号
typeid int(11) 分类栏目编号
pagestyle smallint(6) 表现方式(1单页显示 2分多页显示 3多行多列展示)
maxwidth smallint(6) 大图限制宽度
imgurls text 集内容(标签存放)
row smallint(6) 多列式参数(行)
col smallint(6) 多列式参数(列)
isrm smallint(6) 是否下载远程
ddmaxwidth smallint(6) 小宽度限制
dede_addonsoft 附加软件表
aid int(11) 软件编号
typeid int(11) 分类栏目编号
filetype varchar(10) 文件类型
language varchar(10) 界面语言
softtype varchar(10) 软件类型
accredit varchar(10) 授权方式
os varchar(30) 运行环境
softrank int(11) 软件等级
officialUrl varchar(30) 官方网址
officialDemo varchar(50) 程序演示地址
softsize varchar(10) 软件大小
softlinks text 软件下载链接列表
introduce text 软件介绍
dede_addonspec 附加专题表
aid int(11) 专题编号
typeid int(11) 分类栏目编号
note text 专题内容(仅存放标签代码)
dede_admin管理员信息表
ID int(10) 自动编号
usertype int(10) 用户类型
userid varchar(30) 用户登录ID
pwd varchar(50) 用户密码
uname varchar(20) 用户笔名
tname varchar(30) 真实姓名
email varchar(30) 电子邮箱
typeid int(11) 负责频道(0表示全部)
logintime datetime 登录时间
loginip varchar(20) 登录IP
dede_admintype 系统用户组管理表
rank smallint(6) 组级别编号
typename varchar(30) 组名称
system smallint(6) 是否为系统默认组
purviews text 权限列表
dede_arcatt文档自定义属性表
att smallint(6) 编号
attname varchar(30) 属性名称
dede_archives 文章表
ID int(11) 自动编号
typeid int(11) 所属主栏目编号
typeid2 int(11) 所属副栏目编号
sortrank int(11) 文章排序(置顶方法)
iscommend smallint(6) 是否推荐
ismake smallint(6) 是否生成静态
channel int(11) 文章所属模型
arcrank smallint(6) 阅读权限
click int(11) 点击次数
money smallint(6) 消费点数
title varchar(80) 标题
shorttitle varchar(36) 简略标题
color varchar(10) 标题颜色
writer varchar(30) 作者
source varchar(50) 来源
litpic varchar(100) 缩略图
pubdate int(11) 录入时间
senddate int(11) 发布时间
arcatt smallint(6) 自定属性(att)
adminID int(11) 发布管理员ID
memberID int(11) 发布会员ID
description varchar(250) 摘要
keywords varchar(60) 关键词
templet varchar(60) 文档模板
lastpost int(11) 最近评论时间
postnum int(11) 评论数目
redirecturl varchar(150) 跳转网址
mtype int(11) 用户自定义分类
userip varchar(20) 用户IP
locklikeid smallint(6) 是否锁定相关文章
likeid varchar(240) 相关文章ID
dede_arcrank 阅读权限表
ID int(10) 自动编号
rank smallint(10) 权限等级
membername varchar(20) 等级名称
adminrank smallint(10) 管理等级
money int(11) 消费点数
dede_arctype 栏目管理表
ID int(10) 栏目编号(自动编号)
reID int(10) 父栏目编号
topID int(10)
sortrank smallint(6) 排序编号
typename varchar(30) 栏目名称
typedir varchar(100) 栏目目录
isdefault smallint(6) 栏目列表选项(1链接到默认页 0链接到列表第一页 -1使用动态页)
defaultname varchar(20) 默认页的名称
issend smallint(6) 是否支持投稿
channeltype smallint(6) 频道类型
maxpage int(11) 保留
ispart smallint(6) 栏目属性
corank smallint(6) 浏览权限
tempindex varchar(60) 封面模板
templist varchar(60) 列表模板
temparticle varchar(60) 文章模板
tempone varchar(60) 单独页面模板
namerule varchar(50) 文章命名规则
namerule2 varchar(50) 列表命名规则
modname varchar(30) 模板名称
description varchar(200) 栏目介绍
keywords varchar(100) 关键词
moresite smallint(6) 多站点支持
siterefer smallint(6) 多站点站点根目录属性
sitepath varchar(60) 多站点站点根目录
siteurl varchar(60) 多站点绑定域名
ishidden smallint(6) 是否隐藏栏目
dede_sgpage 单页
上面是一些常用字段,可以在dede后台-》系统-》SQL命令行工具执行sql语句来批量修改!
0条评论