saber酱的抱枕

生于忧患,死于安乐

07/14
19:10
学习

dedecms记录

自己记录的 dedecms的一些知识~因为代码的英文引号直接作为正文输出会乱码,所以只好用代码插件来显示了。说明文字和代码掺杂,一条条分开放太麻烦,所以干脆就放到一起算了。

引用外部文件:
{dede:include filename='head.htm'/}
{dede:include filename='footer.htm'/}

模板目录:
{dede:global.cfg_templets_skin/}/
{dede:global.cfg_templets_skin/}/images/
{dede:global.cfg_templets_skin/}/style/
{dede:global.cfg_templets_skin/}/js/

网站标题:
{dede:field.title/} {dede:global.cfg_webname/}

获取栏目名:
{dede:field name='typename' /}

栏目内容:
{dede:field.content/}

主页链接:
{dede:global.cfg_indexurl/}

根网址,后不带/
{dede:global.cfg_basehost/}

网站名
{dede:global.cfg_webname/}

关键词
{dede:global.cfg_keywords/}

网站描述
{dede:global.cfg_description/}

当前位置:
{dede:field name='position'/}

副标题
[field:shorttitle/]

缩略图:
[field:litpic/]

文章链接:
[field:arcurl/]

文章标题:
[field:title/]

文章简介:
[field:info/] 这个调用出来的长度受限于 arclist 标签内的 infolen参数,所以有时候不是全部的简介。

简介需要截取字数则使用这个:
[field:description function='cn_substr(@me,100)'/]

php中的字数,gbk下一个汉字是2,utf-8下一个汉字是3。英文都是1。

文章发布日期:
[field:pubdate function=MyDate('m-d',@me)/]

seo标题:
{dede:field.seotitle /}

nav:
{dede:channel type='top' row='8' currentstyle="<li><a target="_blank" href='~typelink~'>~typename~</a> </li>"}
 <li><a target="_blank" href='[field:typelink/]'>[field:typename/]</a> </li>
{/dede:channel}


根据栏目id调用多少篇文章:
{dede:arclist typeid=20 row=6 titlelen=30 orderby='pubdate' }
    <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}


调用指定ID的栏目名称和链接:
{dede:type typeid='1'}
<a target="_blank" href="[field:typelink /]">[field:typename /]</a>
{/dede:type}

<a target="_blank" href="{dede:type typeid='1'}[field:typelink /]{/dede:type}"></a>


调用指定文章的链接,指定的文章就用idlist,可一次写多个id:
{dede:arclist idlist='6'}[field:arcurl /]{/dede:arclist}
{dede:arclist idlist='6'}
<a target="_blank" href="[field:arcurl /]" >[field:title/]</a>
{/dede:arclist}


发布时间
[field:pubdate function=MyDate('y-m-d',@me)/]

自动增长的数字 从1开始:
[field:global name=autoindex/]
在channelArtlist标签里可能需要使用下面这个才行:
{dede:global.itemindex/}

获取当前栏目ID:
{dede:type}[field:ID /]{/dede:type}
	sql中的用法:
{dede:sql sql='Select * from dede_arctype where id = ~typeid~ '}
[field:字段]
{/dede:sql}

获取当前栏目名称和链接:
{dede:type}<a href="[field:typelink /]">[field:typename /]</a>{/dede:type}


列表页调用点击数
[field:click/]

相关文章:
{dede:likearticle row='' titlelen='' infolen=''}
<li><a target="_blank" href="[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}
应该是根据关键词来调取的,有时候出不来是标题相似的文章还没有。

热门点击:
{dede:arclist row=10 orderby=click}
<li><a target="_blank" href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}

在首页 在arclist里 调用指定文章的正文:
{dede:arclist idlist=6 orderby=pubdate}
[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select body From `dede_addonarticle` where aid='$aid' "); @me = cn_substr(strip_tags("{$row['body']}"),480);[/field:id]
{/dede:arclist}


按发布的顺序排
orderway='asc'
按发布的时间倒序
orderway='desc'
随机:
orderby =rand

limit从第几篇开始调用几篇,在栏目列表和文章列表都可以用,但在频道列表里似乎无效
{dede:arclist   typeid='14'   row='1' limit='0,1'   titlelen='10' flag ='c' orderby='pubdate'  }

友情链接:
{dede:flink row='24' type='text' titlelen="24" typeid="0"}
{/dede:flink}

dede:type标签里面的图片路径标签不被解析,换成字段的形式就好了
{dede:global.cfg_templeturl/}换成[field:global.cfg_templeturl/]
但有时候全部路径需要补全为:
[field:global.cfg_basehost/][field:global.cfg_templeturl/]/[field:global.cfg_df_style/]
即网站根目录/模板文件夹/当前模板文件夹

一般织梦备份需要备份以下三个数据:模板文件夹、附件文件夹(uploads)以及数据库文件。
数据库文件在根目录找到data文件夹,下载其中的backupdata即可。

列出频道下的栏目名:
{dede:channelArtlist typeid='top' row='8'}
            <a target="_blank" href="{dede:type}[field:typelink /]{/dede:type}">{dede:field name='typename'/}</a>
{/dede:channelArtlist}

过滤html代码:
[field:body function="cn_substr(Html2text(@me),80)"/]

调用多个顶级栏目:
{dede:channelArtlist  typeid='2,3,4,5,6'}
<li ><a target="_blank" href='{dede:field name='typeurl'/}' title='{dede:field name='typename'/}'>{dede:field name='typename'/}</a></li>
{dede:arclist row=6 titlelen=30 }
    <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}
{/dede:channelArtlist}

调用一个栏目下的所有子栏目:(如果是当前栏目的子栏目,不需要加typeid)可以加参数 noself='yes'不显示自身
{dede:channel type='son' typeid='3'}
<li><a target="_blank" href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}

首页调用栏目内容:
{dede:sql sql='Select content from dede_arctype where id=1'}[field:content function="cn_substr(Html2text(@me),250)" /]{/dede:sql}
注意dede_这个表前缀
id=~typeid~

arclist标签嵌套图片不会处理路径代码的解决办法:
将
{dede:global.cfg_templets_skin/}
换成字段
[field:global.cfg_templets_skin/]

列表页调用同级栏目:
{dede:channel type='self'}
<li>
	<a href="[field:typeurl/]">[field:typename/]</a>
</li>
{/dede:channel}

------------调用顶级栏目名:(其实调用的是当前栏目的topid字段,移动过栏目的话可能需要手动去改)

在include/common.func.php的最下方加入:
//获取顶级栏目名
function GetTopTypename($id)
{
global $dsql;
$row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id");
if ($row['topid'] == '0')
{
return $row['typename'];
}
else
{
$row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]");
return $row1['typename'];
}
}

在文章页或者栏目列表页调用时,在所要调用 名称的位置加上下面这行代码即可实现。
{dede:field name='typeid' function="GetTopTypename(@me)" /}

---------调用顶级栏目名结束


列表页显示多少条,设置pagesize:
{dede:list pagesize='10'}
[field:typelink/] [field:arcurl/] [field:title/] 日期:[field:pubdate function="GetDateTimeMK(@me)"/] 点击:[field:click/]
[field:description function='cn_substr(@me,100)'/]...
<li><a target="_blank" href="[field:arcurl/]">[field:title/]</a></li>
{/dede:list}

如何在列表页调用文章正文:
到后台 核心 -> 频道模型 -> 内容模型管理 -> 普通文章 -> 更改,在“列表附加字段”一栏填入“body保存,其他不用改。
之后即可调用:
{dede:list pagesize='10'}
[field:body function='cn_substr(html2text(@me),600)'/]
{/dede:list}

页码:
{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}
显示条数是listsize*2+1
输出为li,不带ul

列表页和内容页获取顶级栏目id:
{dede:field.typeid function="GetTopid(@me)"/}
例如说栏目(或者父栏目)id是3,可以获取id。

内容页:
标题:{dede:field.title/}
时间:{dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/}
来源:{dede:field.source/}
作者:{dede:field.writer/}
正文:{dede:field.body/}

文章页点击数
{dede:field.click/}
或者
<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>

上一篇
{dede:prenext get='pre'/}
下一篇
{dede:prenext get='next'/}
其输出带上一篇下一篇文字,带a链接,不带li

 onclick="openswt()"

function openswt (){
    LR_HideInvite();openZoosUrl();return false;
}

href="javascript:void(0)" onclick="LR_HideInvite();openZoosUrl();return false;"

动态:
update dede_arctype set isdefault=-1;
update dede_archives set ismake=-1;

清除摘要:
update dede_archives set description="";

dedecms记录