07/14
2014
自己记录的 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="";