(dede)织梦系统二次开发笔记

Posted NotFoundObject

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(dede)织梦系统二次开发笔记相关的知识,希望对你有一定的参考价值。

(dede)织梦系统二次开发记录

--soulsjie

一、模板常用文件说明

模板文件都在文件夹templets下,我们以默认模板(default)为例,对模板文件结构进行分析:

首页模板文件目录

\templets\default\index.htm                    首页面

头部文件目录

\templets\default\head.htm                     头部页面

底部文件目录

\templets\default\footer.htm                            底部页面

文章列表页文件目录

\templets\default\list_default.htm         文章列表页

 

模板文件路径

模板路径标签:{dede:global.cfg_templets_skin/}

 

 

二、读取添加的所有栏目

<div class="listbox"> {dede:channelartlist}

   <dl class="tbox">

    <dt><strong><a href="{dede:field name=‘typeurl‘/}">{dede:field name=‘typename‘/}</a></strong><span class="more"><a href="{dede:field name=‘typeurl‘/}">更多...</a></span></dt>

    <dd>

     <ul class="d1 ico3">

      {dede:arclist titlelen=‘60‘ row=‘8‘}

      <li><span>[field:pubdate function="MyDate(‘m-d‘,@me)"/]</span><a href="[field:arcurl /]">[field:title /]</a></li>

      {/dede:arclist}

     </ul>

    </dd>

   </dl>

   {/dede:channelartlist} </div>

  <!-- /listbox -->

三、读取所有栏目的标题

{dede:channelartlist}

{dede:field name=‘typename‘/}<br/>

 {/dede:channelartlist}

四、获取指定栏目的文章列表

 {dede:type typeid=‘12‘}[field:typename /]{/dede:type} <span class="more"><a href="{dede:type typeid=‘12‘}[field:typeurl /]{/dede:type}">更多...</a></span>

<ul>

    {dede:arclist typeid=‘12‘ titlelen=‘25‘ row=‘8‘}

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

    {/dede:arclist}

</ul>

typeid控制栏目的ID

titlelen标题的长度

row=‘8‘显示文章的列表数

 

4.1当前文章的上一篇、下一篇文章

    上一篇 {dede:prenext get=‘pre‘/}

    下一篇:{dede:prenext get=‘next‘/}

标签属性

  •  
  • col:分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示
  • row:返回文档列表总数
  • typeid:栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目
  • getall:在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类
  • titlelen:标题长度 等同于titlelength
  • infolen:表示内容简介长度 等同于infolength
  • imgwidth:缩略图宽度
  • imgheight:缩略图高度
  • listtype: 栏目类型 image含有缩略图 commend推荐
  • orderby:文档排序方式
  • keyword:含有指定关键字的文档列表,多个关键字用","分
  • innertext:单条记录样式
  • aid:指定文档ID
  • idlist:提取特定文档(文档ID
  • channelid:频道ID
  • limit:(起始ID从0开始)表示限定的记录范围(如:limit=‘1,2‘ 表示从ID为1的记录开始,取2条记录
  • flag:自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]
  • noflag:同flag,但这里是表示不包含这些属性
  • orderway:值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
  • subday:表示在多少天以内的文档

五、常用标签

1.关键描述调用标签:

 

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

   <meta name="description" content="{dede:field name=‘description‘ function=‘html2text(@me)‘/}">

 

2.模板路径调用标签:

 

 {dede:field name=‘templeturl‘/}

 

3.网站标题调用标签:

 

  {dede:global name=‘cfg_webname‘/}

 

4.栏目导航调用标签:

 

 <a href="/">首页</a></li>

 {dede:channel type=‘top‘ row=‘8‘ currentstyle="<li class=‘thisclass‘><a href=‘~typelink~‘>~typename~</a> </li>"}

 <li><a href=‘[field:typelink/]‘ target="_blank">[field:typename/]</a> </li>

 {/dede:channel}

 

5.指定调用栏目标签:

 

 {dede:onetype typeid=‘ID‘}[field:typename /]{/dede:onetype}

 

6.频道栏目调用标签:

 

 {dede:channel type=‘self‘}<li><a href=‘[field:typelink/]‘>[field:typename/]</a></li>{/dede:channel}

 

7.友情链接调用标签:

 

 {dede:flink row=‘24‘ linktype=2/}

 

8.网站版权调用标签:

 

 {dede:global name=‘cfg_powerby‘/}

 

9.网站备案调用标签:

 

 {dede:global name=‘cfg_beian‘/}

 

10.当前栏目名称标签:

 

 {dede:field name=‘typename‘/}

 

11.当前位置调用标签:

 

 {dede:field name=‘position‘/}

 

12.列表文章调用标签:

 

 {dede:list pagesize=‘8‘}{/dede:list}

 

13.栏目链接调用标签:

 

[field:typelink function=‘str_replace("a ","a class=ulink ",@me)‘/]

 

14.作者链接调用标签:

 

 [field:writer /]

 

15.列表点击调用标签:

 

 [field:click/]

 

16.列表评论调用标签:

 

 [field:postnum/]

 

17.查阅全文调用标签:

 

 <a href="[field:arcurl/]">查阅全文...</a>

 

18.列表时间调用标签:

 

 [field:pubdate function="GetDateTimeMK(@me)"/]

 

19.列表分页调用标签:

 

 {dede:pagelist listsize=‘4‘ listitem=‘index pre pageno next end ‘/}

 

20.文章标题调用标签:

 

 {dede:field name="title"/}

 

21.文章来源调用标签:

 

 {dede:field name=‘source‘/}

 

22.文章作者调用标签:

 

 {dede:field name=‘writer‘ /}

 

23.文章时间调用标签:

 

 {dede:field name=‘pubdate‘ function=‘GetDateMk(@me)‘/}

 

24.文章Tag调用标签:

 

 {dede:tag type=‘current‘/}

 

25.文章点击调用标签:

 

 <script src="{dede:field name=‘phpurl‘/}/count.php?aid={dede:field name=‘ID‘/}&mid={dede:field name=‘memberid‘/}&view=yes" language="javascript"></script>

 

 

26.文章内容调用标签:

 

 {dede:field name=‘body‘/}

 

27.文章分页调用标签:

 

 {dede:pagebreak/}

 [<a href="{dede:field name=‘phpurl‘/}/stow.php?arcID={dede:field name=ID/}">收藏</a>]

 [<a href="{dede:field name=‘phpurl‘/}/recommend.php?arcID={dede:field name=ID/}">推荐</a>]

 [<a href="{dede:field name=‘phpurl‘/}/feedback.php?arcID={dede:field name=ID/}">评论</a>]

 [<a href="#" onClick="window.print();">打印</a>]

 [<a href="#" onClick="window.close();">关闭</a>]

 

28.文章顶客次数标签:

 

 {dede:field name=‘digg‘/} <a href="javascript:Digg(‘digg‘,{dede:field name=‘id‘/});">顶一下</a>

 

29.上一篇下一篇标签:

 

 {dede:prenext get=‘pre‘/}

 {dede:prenext get=‘next‘/}

 

30.头条推荐调用标签:

 

 {dede:arclist row=1 titlelen=24 orderby=pubdate att=2} <dt> [field:textlink/]

 <span>[field:description/]……</span> </dt> {/dede:arclist}

 

31.最新文章调用标签:

 

 {dede:arclist row=8 titlelen=24 orderby=pubdate}<li>[field:textlink/]</li> {/dede:arclist}

 

32.热关键字调用标签:

 

 {dede:hotwords num=‘5‘ subday=‘30‘/}

 

33.最新图文调用标签:

 

 {dede:arclist row=4 titlelen=20 orderby=pubdate type=‘image.‘ imgwidth=‘152‘ imgheight=‘98‘}

    <dd><a href="[field:arcurl/]"><img src="[field:picname/]" alt="[field:title/]" ></a><span><a title="[field:title function=‘htmlspecialchars(@me)‘/] " href="[field:arcurl /]">[field:title /]</a></span> </dd>{/dede:arclist}

 

34.推荐文档调用标签:

 

 {dede:arclist type=‘commend‘ titlelen=‘40‘ row=‘10‘} <li><a title="[field:title function=‘htmlspecialchars(@me)‘/] " href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist}

 

35.随机推荐调用标签:

 

{dede:arclist type=‘commend‘ titlelen=‘26‘ orderby=‘rand‘ row=‘10‘} <li><a title="[field:title function=‘htmlspecialchars(@me)‘/] " href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist}

 

36.热点文档调用标签:

 

 {dede:arclist orderby=‘click‘ titlelen=‘40‘ row=‘10‘} <li><a title="[field:title function=‘htmlspecialchars(@me)‘/] " href="[field:arcurl /]">[field:title /]</a></li>   {/dede:arclist}

 

37.相关文档调用标签:

 

 {dede:likeart titlelen=‘24‘ row=‘10‘} <li><a title="[field:title function=‘htmlspecialchars(@me)‘/] " href="[field:arcurl /]">[field:title /]</a></li> {/dede:likeart}

 

38.调用图片链接标记:

 

 <a href="[field:arcurl/]"><img src="[field:picname/]" alt="[field:title/]" ></a>

   <a href=‘[field:arcurl /]‘>[field:image/]</a>

 

39.调用文字链接标记:

 

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

 <a title="[field:title function=‘htmlspecialchars(@me)‘/] " href="[field:arcurl /]">[field:title /]</a>

 

40.控制字数描述标记:

 

 [field:description function="cn_substr(@me,100)"/]...

 

41.调用文章tags标记:

 

 {dede:tag type=‘current‘/}

 

42.文章关键字与描述:

 

 {dede:field name=‘keywords‘/}

 {dede:field name=‘description‘ function=‘html2text(@me)‘/}

 

43.栏目介绍:

 

 {dede:field name=‘description‘ function=‘html2text(@me)‘/}

 

44.调用外部htm文件:

 

 {dede:include file=‘head.htm‘ ismake=‘yes‘/}

 

45.搜索文章调用标签:

 

 {dede:global name=‘keyword‘/}的搜索结果 - {dede:global name=‘cfg_webname‘/}

 

 

46.递增序列号:

 

 [field:global name=autoindex/]

 

47.列表隔5行加一行线:

 

 {dede:list pagesize=‘50‘}

 <LI><a href="[field:arcurl /]" title="[field:title function=‘htmlspecialchars(@me)‘/]"

 target=_blank>[field:title function="cn_substr(@me,48)"/]</a>[field:pubdate runphp=‘yes‘]

$a="<font color=red>".strftime(‘%m-%d‘,@me)."</font>";

 $b=strftime(‘%m-%d‘,@me);

 $ntime = time();

 $day3 = 3600 * 24;

 if(($ntime - @me) < $day3) @me = $a;

 else @me =$b;

 [/field:pubdate]<br>

 [field:global name=autoindex runphp="yes"]

 if(@me%5==0)@me="<hr />";

 else @me="";

 [/field:global]

 {/dede:list}

 <DIV class="line2 m1 m3"></DIV></LI>

 

48.最新 文章列表 “隔行换色” 的方法

 

 {dede:arclist orderby=pubdate titlelen=‘26‘ row=‘10‘}

 [field:global runphp=‘yes‘ name=autoindex]

 $a="<div id=‘a‘>";

 $b="<div id=‘b‘>";

 if ((@me%2)==0) @me=$a;

 else @me=$b;

 [/field:global]

 <ul>

 <li>[field:title/]</li>

 </ul>

 </div>

 {/dede:arclist}

 

 

 

 

 

 

49.24小时内更新的文章时间显示为红色:

 

    [field:pubdate runphp=‘yes‘]

    $a="<font color=red>".strftime(‘%m-%d‘,@me)."</font>";

    $b=strftime(‘%m-%d‘,@me);

    $ntime = time();

    $day3 = 3600 * 24;

    if(($ntime - @me) < $day3) @me = $a;

    else @me =$b;

    [/field:pubdate]

 

50.COPY页面内容,自动在后面加上网站信息,利于SEO

 

   <script type="text/javascript">

 document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData("text"); if (text) { text = text + "\r\n本篇文章来源于 www.地址.COM 原文链接:"+location.href; clipboardData.setData("text", text); } }, 100 ) }

   </script>

 

51.按时间点击文章排行榜调用标签:

 

 按总: {dede:arclist row=‘24‘ titlelen=24 orderby=click}

 按月: {dede:arclist row=‘24‘ titlelen=8 orderby=click subday=30}

 按周: {dede:arclist row=‘24‘ titlelen=8 orderby=click subday=7}

 在首页调用某栏目的子栏目

 {dede:channel type=’sun’ typeid=’栏目ID’}

 <a href=”[field:typelink/]“>[field:typename/]</a>

 {/dede:channel}

 或者

   {dede:global name=’maplist’/}

 

52.搜索表单调用标签:

 

 <form action="{dede:global name=‘cfg_phpurl‘/}/search.php" name="formsearch">

 <input type="hidden" name="kwtype" value="1" />

 <input name="keyword" id="keyword" type="text" class="searchtxt" />

 <select name="searchtype" id="searchtype">

 <option value="titlekeyword" selected>智能模糊搜索</option>

 <option value="title">仅搜索标题</option>

 </select>

 <input type="image" src="{dede:field name=‘templeturl‘/}/images/topsearch_submit.gif" />

 </form>

 

53.实现“文章标题-2级栏目-1级栏目-网站名”形式

 

 {dede:field name=‘title‘/}-{dede:field name=‘position‘ runphp=‘yes‘}

 $tc="-"; //分隔符

 $tw=$GLOBALS[‘cfg_list_symbol‘]; //调用位置分隔符

   @me=html2text(@me); //去除html标签

 $tf=split($tw,@me); //分解成数组

   for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk

 $tk.=trim($tf[$ta]).$tc;

    }

 $tk=substr($tk,0,-1);

 @me=$tk; //赋值给@me

 {/dede:field}-{dede:global name=‘cfg_webname‘/}

 

54.调用缩略图:

 

    <img src=‘{dede:field name="litpic"/}‘>

 

55.发布的文章显示红色日期或加上new字或new小图片

 

给近三天(或当天)发布的文章显示红色日期或加上new字或new小图片等。

都是围绕pubdate做文章,写扩展的。

第2、3要注意的问题是:如:"<img src=‘new.gif‘ />中不能用双引号,否则不行。

如果要给当天的加,把 3600 * 24 * 3 改为 3600 * 24  即可。

1、==========红色的日期========

 

 [field:pubdate runphp=‘yes‘]

 $a="<font color=red>".strftime(‘%m-%d‘,@me)."</font>";

 $b=strftime(‘%m-%d‘,@me);

    $ntime = time();

 $day3 = 3600 * 24 * 3;

 if(($ntime - @me) < $day3) @me = $a;

 else @me =$b;

 [/field:pubdate]

 

2、==========红色的(new)========

 

 [field:pubdate runphp=‘yes‘]

   $aa=strftime(‘%m-%d‘,@me);

$ntime = time();

   $tagtime = @me;

$day3 = 3600 * 24 * 3;

if($tagtime > $ntime-$day3) @me = "<font color=‘red‘>(new)</font>";

else @me = $aa;

[/field:pubdate]

 

3、==========加new.gif小图片========

 

[field:pubdate runphp=‘yes‘]

$aa=strftime(‘%m-%d‘,@me);

$ntime = time();

$tagtime = @me;

$day3 = 3600 * 24 * 3;

if($tagtime > $ntime-$day3) @me = "<img src=‘new.gif‘ />".$aa;

else @me = $aa;

[/field:pubdate]

 

56.一种很酷的时间效果

 

 [field:pubdate runphp="yes"]

 if((time()[email protected])<(60*60*24)){@me=‘ <font color="#ff6600">‘.strftime("%H:%M",@me).‘</FONT>‘;}

 else {@me=strftime("%m-%d",@me);}          

 [/field:pubdate]

 

57.DEDE seo小技巧 加个百度搜索本篇文章

 

 【<a href="javascript:" target="_top" title="在百度搜索“{dede:field name="title" /}”相关内容"><font color=red>在百度搜索更多繁体字</font></a>】

 

  把你的网址改一下,不加http,演示:http://www.yingsheji.com 文章页

    或者

 

   【<a href="javascript:" target="_top" title="在百度搜索“{dede:field name="title" /}”相关内容"><font color=red>搜索舞步</font></a>】

 

58.调用tag:

 

 {dede:field name=‘keywords‘ runphp=‘yes‘ }

    if(!emptyempty(@me)){

 $kws = explode(‘ ‘,@me);

 @me = "";

 foreach($kws as $k){

 @me .= "<a href=‘/tag.php?/$k/‘>$k</a> ";

 }

 @me= str_replace(‘+‘, ‘ ‘,trim(@me));

 }

{/dede:field}

 

以上是关于(dede)织梦系统二次开发笔记的主要内容,如果未能解决你的问题,请参考以下文章

织梦DedeCMS的二次开发之数据库类操作

dede织梦安装多说插件教程

织梦课堂笔记

dedecms模板标签语法简介

织梦怎样在列表页调用文章作者

dedecms织梦七牛云存储二次开发