网站动静态转换
织梦后台---》系统--->系统设置---》SQL命令行工具
1、将网站所有栏目设置成动态页
update dede_arctype set isdefault=-1
还原成静态
update dede_arctype set isdefault=1
2、将网站所有文档都设置为动态页
update dede_archives set ismake=-1
还原成静态
update dede_archives set ismake=1
模板分割调用
{dede:include filename="xxx.htm" /} xxx表示调用模板名称
通用类标签:所有模板都可以调用
全局标签 {dede:global.***** /}
在其他dede标签或html标签里调用通用类标签,使用如下形式:[field:global.***/]
例如:alt="[field:global.cfg_webname/]"
栏目列表标签 channel
{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a></li>"}
<li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
row:调用多少条数据; currentstyle='' 用来设定当前选中栏目的css样式;
type: type='top' 顶级栏目。type='son' 指定栏目的下一级栏目;
typeid:指定输出栏目id,如果不写这个参数,则默认为当前栏目
底层字段: typelink 栏目链接;typename 栏目名称;
顶级栏目和子栏目显示(参考:http://blog.csdn.net/qq19124152/article/details/8332171)
{dede:channelartlist typeid='top' currentstyle='current'}
<li><a class=class="{dede:field.currentstyle/}" href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<ul>
{dede:channel type='son' noself='true'}
<li><a href='[field:typeurl/]' title='[field:typename/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
文档列表标签 arclist
{dede:arclist row='1' typeid='1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
//row 调用多少条数据
//typeid 栏目id,在列表模板和档案模板一般不使用,在首页中允许使用逗号表示多个栏目
//titlelen 标题长度
//orderby 文档排序方式 orderby='hot/click' 按文章浏览量排序;
orderby='pubdate' 按文章最后更新时间
orderby='id' 按文章id
orderby='rand' 随机排序
//orderway 指定排序排序方式 ,默认为降序;升序为asc;
//keyword 含有指定关键字的文档列表,多个关键字使用‘,’分开
//idlist 输出指定文档id
//limit 输出指定范围的数据,limit='起始id,范围值'
//type 值为image时表示只含有缩略图的文章,与flag='p'相同
//flag 显示特定属性文章
//noflag 表示不包含这些属性
//imgwidth 缩略图宽度
//imgheight 高度
infolen 表示内容简介长度
/底层字段
[field:litpic/] [field:picname/] 文章说略图地址
[field:image/] 文章缩略图(带img标签,不带链接)
[field:imglink/] 文章缩略图 (带img标签,带连接)
[field:info/] 文章描述,或文章摘要,长度通过infolen控制
[field:description/] 文章摘要文字,等同于[field:info/],长度不能通过infolen控置
[field:description function="cn_substr(@me,120)"/]
[field:info/] 文章描述,或文章摘要,长度通过infolen控制
[field:description/] 文章摘要文字,等同于[field:info/],长度不能通过infolen控置
[field:description function="cn_substr(@me,120)"/]
[field:ID/] 文章id
[field:typeid/] 文章所在栏目id
[field:title/] 文章标题,不带链接
[field:shorttitle/] 文章段标题
[field:textlink/] 带链接标题
[field:arcurl/] 文章地址
[field:typelink/] 文章栏目地址
[field:flag/] 文章推荐属性
[field:click/] 文章推荐属性
[field:writer/] 文章作者
[field:source/] 文章来源
[field:pubdate function=MyDate('Y-m-d',@me)/] 文章发布时间
自定义字段
添加方法:核心-》频道模型-》内容模型管理
调用方法:
1.在非文章页,使用底层字段 [field:字段名/]
使用时在标签中加入两个参数 channelid 模型id; addfields 要调用的字段名
{dede:arclist row='1' typeid='12' channelid='17' addfields='cailiao,zhongliang,zhijing'}
<h2>[field:title/]</h2>
<h2>[field:cailiao/]</h2>
<h2>[field:zhongliang/]</h2>
<h2>[field:zhijing/]</h2>
{/dede:arclist}
2.在文章页使用 {dede:field.字段名/}
实战演练:
一、主页index.htm
1.替换css,图片地址
{dede:global.cfg_templets_skin/} 当前使用模板路径
2.替换title,meta标签
{dede:global.cfg_webname/}
{dede:global.cfg_description/}
{dede:global.cfg_keywords/}
3.替换菜单(栏目)
{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a></li>"}
<li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
调用单个栏目
{dede:type typeid='栏目id'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:type}
调用某个栏目的某些字段(内容),可使用
{dede:sql sql='Select seotitle,content from dede_arctype where id=1'}
[field:seotitle/] [field:content/]
{/dede:sql}
想调用那个栏目,只需要修改栏目的ID 就可以了。
4.替换链接
{dede:global.cfg_cmsurl/}/tags.php tag
{dede:global.cfg_cmsurl/}/data/sitemap.html 普通网站地图
{dede:global.cfg_cmsurl/}/data/rssmap.html rss网站地图
{dede:global.cfg_cmdurl/} 本网站路径
5.替换广告位
{dede:mytag name='home_ad' ismake='yes' /}
6.替换友情链接
{dede:flink row='40/'}
flink标签自动生成li标签
二、主页模板拆分
{dede:include filename="xxx.htm" /} xxx表示调用模板名称
三、主页中 含有文章档案列表的地方
{dede:arclist row='1' typeid='1'}
<li class="
[field:weight runphp='yes']
if(@me=='1') @me='clearfix';
if(@me=='2') @me='wbg clearfix';
if(@me=='3') @me='clearfix';
">
<a href='[field:arcurl/]'>[field:title/]</a>
</li>
{/dede:arclist}
//row 调用多少条数据
//typeid 栏目id,在列表模板和档案模板一般不使用,在首页中允许使用逗号表示多个栏目
//titlelen 标题长度
//orderby 文档排序方式 orderby='hot/click' 按文章浏览量排序;
orderby='pubdate' 按文章最后更新时间
orderby='id' 按文章id
orderby='rand' 随机排序
//orderway 指定排序排序方式 ,默认为降序;升序为ase;
//keyword 含有指定关键字的文档列表,多个关键字使用‘,’分开
//idlist 输出指定文档id
//limit 输出指定范围的数据,limit='起始id,范围值'
//type 值为image时表示只含有缩略图的文章,与flag='p'相同
//flag 显示特定属性文章
//noflag 表示不包含这些属性
//imgwidth 缩略图宽度
//imgheight 高度
infolen 表示内容简介长度
/底层字段
[field:litpic/] [field:picname/] 文章说略图地址
[field:image/] 文章缩略图(带img标签,不带链接)
[field:imglink/] 文章缩略图 (带img标签,带连接)
[field:infos/] 文章描述,或文章摘要,长度通过infolen控制
[field:description/] 文章摘要文字,等同于[field:infos/],长度不能通过infolen控置
[field:description function="cn_substr(@me,120)"/]
[field:infos/] 文章描述,或文章摘要,长度通过infolen控制
[field:description/] 文章摘要文字,等同于[field:infos/],长度不能通过infolen控置
[field:description function="cn_substr(@me,120)"/]
[field:ID/] 文章id
[field:typeid/] 文章所在栏目id
[field:title/] 文章标题,不带链接
[field:shorttitle/] 文章段标题
[field:textlink/] 带链接标题
[field:arcurl/] 文章地址
[field:typelink/] 文章栏目地址
[field:flag/] 文章推荐属性
[field:click/] 文章推荐属性
[field:writer/] 文章作者
[field:source/] 文章来源
[field:pubdate function=MyDate('Y-m-d',@me)/] 文章发布时间
四、封面页 index_article.htm
1.替换title,meta标签
{dede:field.seotitle/} 标题使用SEO标题
{dede:field name='description'/} 描述
{dede:field name='keywords'/} 关键字
五、普通文章页 article_article.htm
1.替换css,图片地址
{dede:global.cfg_templets_skin/} 当前使用模板路径
2.替换title,meta标签
{dede:field.title/} 文章标题
{dede:field.keywords/} 文章关键字
{dede:field.description/} 文章描述
3.主体内容部分
{dede:field name='position'/}<strong>{dede:field.title}</strong> 当前位置+文章标题
{dede:global.cfg_cmsurl/} 网站根目录
{dede:tag sort='new' row =2} TAG标签
[field:link/] 标签地址 [field:tag/]标签文字
{/dede:tag}
{dede:field.pubdate function="MyDate('Y-m-d',@me)" /} 最后更新时间
<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script> 浏览量
{dede:field.body/} 文章内容
{dede:adminname/} 责任编辑
{dede:pagebreak/} 文章分页页码
百度分享代码(通过自定义宏,代码取至http://share.baidu.com/)
{dede:mytag name='baidushare' ismake='yes' /}
相关内容
{dede:likearticle roe='4' titlelen='40'}
[field:title/] 标题
[field:arcurl/] 文章链接地址
[field:pubdate function="MyDate('Y-m-d',@me)"/] 最后更新
{/dede:likearticle}
腾讯微博评论和一键收听代码(通过后台广告位,代码取至http://dev.t.qq.com/websites/)
{dede:myad name='weibo_pinlun'/}{dede:myad name='weibo_shouting'/}
列表页list_article.htm
1.替换css,图片地址
{dede:global.cfg_templets_skin/} 当前使用模板路径
2..替换title,meta标签
{dede:field.seotitle/} 标题使用SEO标题
{dede:field name='description'/} 描述
{dede:field name='keywords'/} 关键字
3.主体部分
{dede:field name='position'/}<strong>{dede:field.seotitle /}</strong> 当前位置
也使用{dede:arclist}标签
数据列表
{dede:list pagesize='21' titlelen=44}
[field:title/] 标题
[field:arcurl/] 文章链接地址
[field:pubdate function="MyDate('Y-m-d',@me)"/] 最后更新
{/dede:list}
自增长字段
[field:global name=autoindex runphp="yes"] 从1开始每次增加1
if(@me%3==0){
@me="<li class='line'></li>";
}
else{
@me="";
}
[/field:global]
列表分页标签
{dede:pagelist listitem="index,pre,pageno,next,end" listsize="5"/}
六、Tag页,tag.htm
1.替换css,图片地址
{dede:global.cfg_templets_skin/} 当前使用模板路径
2.替换title,meta标签
{dede:global.cfg_webname/}
{dede:global.cfg_description/}
{dede:global.cfg_keywords/}
3.最新标签
{dede:tag row='60' sort='new'} //sort='month' 当月最热标签 sort='rand' 随机标签
<a href='[field:link/]' class='[field:highlight/]'>[field:tag/]</a>
{/dede:tag}
4.tag列表页taglist.htm
直接使用列表页模板即可,但是当前位置的代码需要换成以下代码
<a href="{dede:global.cfg_csmurl/}/tags.php">TAG标签</a>>;<strong>{dede:field.title}</strong>
七、网站地图sitemap.htm
在tag.htm上稍作修改,主体内容换成以下代码
{dede:global name='maplist'/}
add增加内容
当前栏目id、名字
{dede:field.typeid/}
{dede:field.typename/}
上级栏目ID、名字
{dede:field.reid/}
顶级栏目ID
{dede:field.typeid function='GetTopid(@me)'/}
Dedecms获取顶级栏目id,名称及链接
{dede:field.typeid function="gettoptype(@me,id)"/} //id
{dede:field.typeid function="gettoptype(@me,name)"/} //名称
{dede:field.typeid function="gettoptype(@me,link)"/} //链接
修改 include/helpers/extend.helper.php
结尾增加 :
/**
* 获取一个类目的顶级栏目
* @param string $tid 栏目ID
* @return string
*/
if ( ! function_exists('gettoptype'))
{
function gettoptype($tid,$action)
{
global $dsql,$cfg_Cs;
if(!is_array($cfg_Cs))
{
require_once(DEDEDATA."/cache/inc_catalog_base.inc");
}
if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)
{
$topid = $tid;
}
else
{
$topid = GetTopid($cfg_Cs[$tid][0]);
}
$row = $dsql->GetOne("SELECT * FROM `#@__arctype` WHERE id=$topid");
$toptypename = $row['typename'];
$toptypeurl = $topid;
if($action=='id') return $topid;
if($action=='name') return $toptypename;
if($action=='link') return GetOneTypeUrlA($row);
}
}