dedeCMS 怎样修改模板,第1张

Hi,可以使用dedecms后台的单页面做

我把源码贴给你吧

这是txt版本的,

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

{dede:channel type='top' row='13'}[field:typeurl/]

{/dede:channel}{dede:channel type='son' row='10' typeid='1'}[field:typeurl/]

{/dede:channel}{dede:channel type='son' row='10' typeid='2' }[field:typeurl/]

{/dede:channel}{dede:channel type='son' row='10' typeid='3' }[field:typeurl/]

{/dede:channel}{dede:channel type='son' row='10' typeid='19' }[field:typeurl/]

{/dede:channel}{dede:channel type='son' row='10' typeid='15' }[field:typeurl/]

{/dede:channel}{dede:channel type='son' row='10' typeid='4' }[field:typeurl/]

{/dede:channel}{dede:channel type='son' row='10' typeid='5' }[field:typeurl/]

{/dede:channel}{dede:arclist row='3000' typeid='1' orderby='pubdate'}

[field:arcurl/]

{/dede:arclist}{dede:arclist row='3000' typeid='2' orderby='pubdate'}

[field:arcurl/]

{/dede:arclist}{dede:arclist row='3000' typeid='3' orderby='pubdate'}

[field:arcurl/]

{/dede:arclist}{dede:arclist row='3000' typeid='5' orderby='pubdate'}

[field:arcurl/]

{/dede:arclist}{dede:arclist row='3000' typeid='19' orderby='pubdate'}

[field:arcurl/]

{/dede:arclist}{dede:arclist row='3000' typeid='4' orderby='pubdate'}

[field:arcurl/]

{/dede:arclist}

这是xml版本的

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

<xml version="10" encoding="gb2312">

<xml-stylesheet type="text/xsl" href="sitemapxsl">

<urlset xmlns="

<url>

<loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{dede:channelartlist row='13'}

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:channelartlist type='son' row='10' typeid='1'}

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:channelartlist type='son' row='10' typeid='2' }

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:channelartlist type='son' row='10' typeid='3' }

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:channelartlist type='son' row='10' typeid='19' }

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:channelartlist type='son' row='10' typeid='15' }

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:channelartlist type='son' row='10' typeid='4' }

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:channelartlist type='son' row='10' typeid='5' }

<url>

<loc>{dede:field name='typeurl'/}</loc>

<priority>10</priority>

<lastmod>{dede:php} $_date = date('Y-m-d',time());

echo $_date;

{/dede:php}</lastmod>

<changefreq>Always</changefreq>

</url>

{/dede:channelartlist}

{dede:arclist row='3000' typeid='1' orderby='pubdate'}

<url>

<loc>[field:arcurl/]</loc>

<priority>08</priority>

<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>

<changefreq>daily</changefreq>

</url>

{/dede:arclist}

{dede:arclist row='3000' typeid='2' orderby='pubdate'}

<url>

<loc>[field:arcurl/]</loc>

<priority>08</priority>

<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>

<changefreq>daily</changefreq>

</url>

{/dede:arclist}

{dede:arclist row='3000' typeid='3' orderby='pubdate'}

<url>

<loc>[field:arcurl/]</loc>

<priority>08</priority>

<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>

<changefreq>daily</changefreq>

</url>

{/dede:arclist}

{dede:arclist row='3000' typeid='5' orderby='pubdate'}

<url>

<loc>[field:arcurl/]</loc>

<priority>08</priority>

<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>

<changefreq>daily</changefreq>

</url>

{/dede:arclist}

{dede:arclist row='3000' typeid='19' orderby='pubdate'}

<url>

<loc>[field:arcurl/]</loc>

<priority>08</priority>

<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>

<changefreq>daily</changefreq>

</url>

{/dede:arclist}

{dede:arclist row='3000' typeid='4' orderby='pubdate'}

<url>

<loc>[field:arcurl/]</loc>

<priority>08</priority>

<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>

<changefreq>daily</changefreq>

</url>

{/dede:arclist}

{dede:arclist row='3000' typeid='15' orderby='pubdate'}

<url>

<loc>[field:arcurl/]</loc>

<priority>08</priority>

<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>

<changefreq>daily</changefreq>

</url>

{/dede:arclist}

</urlset>

HTML的版本

<!doctype html>

<html lang="zh-cn">

<head>

<meta charset="gb2312">

<title>{dede:globalcfg_webname/}</title>

<meta name="keywords" content="{dede:globalcfg_keywords/}" />

<meta name="description" content="{dede:globalcfg_description/}" />

<meta name="Author" content="杨雨">

<meta name="Copyright" content="http://itbyccom">

</head>

<body>

<h1><a title="{dede:globalcfg_webname/}" href="

{dede:globalcfg_webname/}</a></h1>

<nav>

{dede:channelartlist }

<ul onmouseover="ShowMenuDd(this)" class="repeatItem">

<li><a title="{dede:field name='typename'/}" href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>

<li><ol>{dede:sql sql='Select from `dede_arctype` where reid=~id~ ORDER BY id'}

<li>

<a class="link" href="[field:typedir function="cn_substr(@me,200,9) " /]">[field:typename/]</a>

</li>

{/dede:sql}</ol></li>

</ul>

{/dede:channelartlist}

</nav>

<div>

<ol>{dede:arclist orderby='pubdate' row=100000 }

<li>

<a title="[field:fulltitle/]" href="[field:arcurl/]">[field:fulltitle/]</a>

<time>[field:pubdate function=MyDate('y-m-d',@me)/]</time>

</li>{/dede:arclist}

</ol>

</div>

</body>

</html>

用到的开源项目:DedeCMS,artdialog

1下载includerar文件完成后,解压得到2个php文件和一个使用说明文件,将php文

件上传至系统的include目录。

2打开系统的include/commonfuncphp文件 找到 178-240行(function ShowMsg)。

3将该段替换为:

if($cfg_soft_lang=="utf-8"){

require_once(DEDEINC'/dedemsg_cmsjoy_utf8php');//引入自定义提示信息方法(utf)

}else if($cfg_soft_lang=="gb2312"){

require_once(DEDEINC'/dedemsg_cmsjoy_gb2312php');//引入自定义提示信息方法(gbk)

}else{

die("Unkonw soft_lang , please modify back!");

}

4配置对话框风格样式:

如果你的系统编码是utf-8则打开打开dedemsg_cmsjoy_utf8php找到20行将$skin的值改为可选皮肤(default |

aero | chrome | opera | simple | idialog | twitter | blue | black |

green)的值便可。

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建站有所帮助。

织梦DedeCMS修改模板默认CSS文件分析:首先,打开后台——模板——默认模板管理——indexhtm

看到有一句,<link href="{dede:globalcfg_templeturl/}/style/dedecmscss" rel="stylesheet" media="screen" type="text/css" />说明,我们模板是根据这个CSS来布局网页的,于是我们就打开网站目录下面的templetsstylededecmscss然后来分析一下CSS的构成。

我们根据主页的调用,来研究CSS这样容易理解。我们打开主页模板,找到:

<div class="w960 center clear mt1">/这句是控制除了网站头部和友情链接的所有结构样式/

那么 w960 center clear mt1 都定义了什么呢?我们打开DEDECMSCSS 找打相关的定义。

/---------- stock ---------/

center{

margin:0px auto; 定义了CSS模块的边缘位置都是0,也就是这个center的层 距离上右下左都是0px;

}

w960{

width:960px; 定义了整体的宽度为960px;

/position:relative;/

}

pright infos_userinfo {

margin-bottom: 0px; 定义了首页右部下的 互动中心的下面边缘为0px;

}

mt1{/ ( margin-top 1 ) /

margin-top:8px; 定义了mt1的顶部边缘为8px;

}

pright mt1{

margin-top:0px; 定义了pright 下面的mt1顶部边缘为0px;

}

mt2{/ ( margin-top 2 ) /

margin-top:16px; 顶部边缘为16px;

}

clear{

overflow:hidden; 如果clear层里面的内容超出了 层的范围 就隐藏起来。

}

<div class="pleft">这个pleft 的定义 没有在dedecmscss 中,但是我们会发现一句话

@import url("layoutcss");

@import url("pagecss");

这说明,在dedecmscss 中引用了 pagecss 和layoutcss 这两个样式表,于是我们就在pagecss 中找到了pleft 的定义

pleft{

width:712px;定义了宽度

float:left;该层向左浮动

overflow:hidden;超出范围则隐藏

}

<div class="bignews">

在该层下面调用的是新闻头条的内容,看看它的css

index bignews{

width:424px;

height:400px;

float:right; 向右浮动

border:1px solid #DFF2F5;表示边框线用 #dff2f5的实体颜色填充

background:url(/images/headbg-topgif) repeat-x;背景为 headbg-topgif 并且横向平铺

overflow:hidden;超出则隐藏。

}

所以,我们看到头条的这部分是在flash幻灯片右边显示,并且加上了浅蓝色的边框线。

<!--头条-->

<div class="onenews"> 再来看看 onenews是如何定义的。

index bignews onenews{

margin:0 3px 0 3px; 左右外边距分别空3个像素

padding:7px 6px;上左内边距分别空7,6个像素

border-bottom:1px dashed #EBEBEB;下边框加一个 #ebebeb的虚线

}

所以我们看见头条的文章左右都有一定的距离,并且下面还有一个虚线显示

</div>

<!-- /onenews -->

这个下面调用的是以往的头条,默认的有4篇文章,调用了d1 d1arc 2个css

index bignews divd1{

padding:6px 10px;

clear:both;这句话是清除浮动,如果不加它,大家可以试试看,是不是 d1 这个层就跑到 头条的右边了。

width:406px;

overflow:hidden;

}

index bignews divd1arc{

margin-right:12px;

width:190px;

float:left;因为此时要调用4篇文章,改文章是22排列的,如果不加这个属性,新闻就应该垂直排列了(因为你刚才用clear:both 清除浮动啦),大家试试看是不是这样的。

height:24px;

line-height:24px;行间距,即字体最底端与字体内部顶端之间的距离

overflow:hidden;

}

<!--/头条-->

<div class='newarticle'>最新文章</div>

下面看看 newarticle 这个css吧,还是拿快学网的首页举例子,上面的这句是用来显示 “最近更新”那几个绿颜色字的,看看它是怎么定义的。

index bignews divnewarticle{

height:24px; 高度

background:url(/images/new-articlegif) 8px 3px no-repeat;背景在x轴8px 和y轴3px出出现

font-size:0px;

color:#fff;

} 所以,我们能看到那个 最近更新 并且还有一个横条,其实它是个,大家右键另存为看看就知道了

<ul class="c2 ico1">

这里面调用了 c2 和ico1 两个 css

index bignews ulc2{

width:416px;

padding:0px 4px 0px; 内边距为 上0 右4下0

clear:both;清除浮动 和上面的意思一样

overflow:hidden;

}

ico1 这个css 在layoutcss 中了。

ico1 li{

padding-left:16px; 指的是 新闻列表左内边距为16px

background:url(/images/ico-1gif) 7px 11px no-repeat; 背景在7px,11px 处出现,所以我们看到最新文章的列表左边都有一个小黑点,这个小黑点就是 ico-1gif

}

</ul>

</div>

<!-- /bignews --> 到此,中部的头条新闻和最近更新已经分析完了。

<div class="flashnews">

看看flash的 css 定义

index flashnews{

width:280px;

height:192px;

overflow:hidden;

float:left;这句决定了,flash 的新闻列表在 头条的左边显示。如果你把bignews 和flashnews 的float 属性互换一下应该是上面结果呢?大家试试看。

}

</div>

<!-- /flashnews -->

<div class="latestnews">这边是特别推荐调用的样式,还是来看看css

index latestnews{

width:280px;

height:200px;

margin-top:8px;

float:left;

}

index latestnews dl dd{

padding:2px 5px;

}

index latestnews ul a{

color:#555;

}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedeCMS 怎样修改模板

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情