(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()-@me)<(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)织梦系统二次开发笔记的更多相关文章
- 如何有效防止DEDE织梦系统被挂木马安全设置(仅供参考)
尊敬的客户,您好! 感谢广大客户对我司工作的信任和支持! 我司在最近的一个多月内陆续发现多起因 DedeCMS 安全漏洞造成网站被上传恶意脚本的事件,入侵者可利用恶意脚本对外发送大量 ...
- Dede cms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置
第一.安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的.难猜到的前缀即可. 第二.后台登录一定要开启验证码功能,将默认管理员a ...
- dede织梦系统接入熊掌号推送api,完整详细教程
第一步: 根据熊掌号要求完成校验页面,官方文档很详细,照着弄就行了 第二步: 开始后台改造 1.进入后台文件夹dede(自己实际的文件夹),然后进入templets目录,打开body_inde ...
- dede织梦栏目页和文章页中获取当前栏目名称方法
一般情况下,在dede织梦系统中列表页.栏目页和文章页中获取当前所在栏目名称只需要代码:{dede:type}[field:typename]{/dede:type}即可,不需要定义ID,默认的就是当 ...
- dede织梦5.7上传图片302以及Error #2038问题解决
dede织梦5.7上传图片302以及Error #2038问题解决 三月 19, 2012 · Posted in DEDE二次开发, PHP Number of View: 1388 在后台图片集 ...
- dedecms织梦系统后台验证码图片不显示的解决方法
网站迁移后,dedecms织梦系统后台验证码图片不显示的解决方法通用解决方案-取消后台验证码功能因为没有验证码,不能进后台,所以修改php文件源代码:方法一:打开dede/login.php 找到如下 ...
- 织梦系统dedecms如何开启伪静态
做为一名网站建设工程师,必须要考虑到网站优化方面的工作,那么选择CMS系统的时候,有良好的网站 优化功能就是一个好的CMS的标准之一,而系统是否支持伪静态,则是URL优化的工作之一,而织梦系统能良好的 ...
- dede织梦如何防止被黑客入侵渗透?
dede精简设置篇:避免被hack注射挂马 精简设置篇:不需要的功能统统删除.比如不需要会员就将member文件夹删除.删除多余组件是避免被hack注射的最佳办法.将每个目录添加空的index.htm ...
- 关于将dede织梦data目录迁移出web目录
关于将dede织梦data目录迁移出web目录织梦官方提供了一个教程,但是如果你是按照他们提供的教程做的话会出现很多问题.比如验证码问题,图片显示问题等等一大堆.织梦官方这种是很不负责任的,因为那个教 ...
随机推荐
- 异或+构造 HDOJ 5416 CRB and Tree
题目传送门 题意:给一棵树,问f (u, v) 意思是u到v的所有路径的边权值的异或和,问f (u, v) == s 的u,v有几对 异或+构造:首先计算f (1, u) 的值,那么f (u, v) ...
- Android偏好设置(7)自定义Preference,和PreferenceDialog
Building a Custom Preference The Android framework includes a variety of Preference subclasses that ...
- 善用oss客户端工具
有个需求:需要我到阿里oss上下载ts文件 估摸了一下100多个只占了6分之一的时间,全下下来得700多个 还不算上正在运行的 正当我手动一个一个点的时候: 100个 总算点完了 全部在桌面是摆着: ...
- 1272 最大距离 只想到了dp
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1272 离散化后,用dp[i]表示向右,大于等于i这个数字的最大位置 dp ...
- [转]Windows Azure入门教学系列 (六):使用Table Storage
本文转自:http://blogs.msdn.com/b/azchina/archive/2010/03/11/windows-azure-table-storage.aspx 本文是Windows ...
- spring常用注解笔记
spring常用注解解释: 1. Mybatis的映射文件xxxMapper.xml中resultMap标签的作用 resultMap标签是为了映射select查询出来结果的集合,其主要 作用是将实体 ...
- Fragment懒加载预加载
1. 预加载viewpager.setOffscreenPageLimit(2);,默认是预加载1,可以结合懒加载使用. 如果希望进入viewpager,Fragment只加载一次,再次滑动不需加载( ...
- apache设置无缓存
打开httpd.conf 开启扩展 确保开启 LoadModule headers_module modules/mod_headers.so 添加配置项 并添加以下配置,跟据文件类型来让浏览器每次都 ...
- html中 accept 属性
1.HTML <input> 标签的 accept 属性 在文件上传中使用 accept 属性,本例中的输入字段可以接受 GIF 和 JPEG 两种图像: <form> < ...
- centos7.2密码在单用户下面的修改
centos7.2在但用户模式下面的修改 1.开机启动 2.grub模式按E健 3.Linux16行的"ro"修改为 "rw init=/sysroot/bin/sh&q ...