Dedecms建站经验和技巧总结
参考dedecms的帮助文档中的arclist标签
标签名称:arclist
标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。
功能说明:获取指定文档列表
适用范围:全局使用
基本语法:
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
参数说明:
col='' 分多少列显示(默认为单列),53版中本属性可以通过多种方式进行多行显示
如果col='1'要多列显示的可用div+css实现
以下为通过div+css实现多列的示例:
<style type=text/css>
div{width:400px;float:left;}
</style>
{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}
•[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>
{/dede:arclist}
当col>1将使用原来的table多列方式显示
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;
getall='1' 在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类
titlelen = '30' 标题长度 等同于titlelength
infolen='160' 表示内容简介长度 等同于infolength
imgwidth='120' 缩略图宽度
imgheight='90' 缩略图高度
listtype='all' 栏目类型 image含有缩略图 commend推荐
orderby='sortrank' 文档排序方式
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
keyword='' 含有指定关键字的文档列表,多个关键字用","分
innertext = '' 单条记录样式
aid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid 频道ID
limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)
flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]
noflag = '' 同flag,但这里是表示不包含这些属性
orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
subday='天数' 表示在多少天以内的文档
用arclist调用于附加表字段的方法:
要获取附加表内容,必须符合两个条件
1、指定 channelid 属性
2、指定要获得的字段 addfields='字段1,字段'
如:
{dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}
[field:textlink /] - [field:softtype /]<br />
{/dede:arclist}
底层模板字段:
ID(同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,
source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,
description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,
stime(pubdate 的"0000-00-00"格式)
其中:
textlink = <a href='arcurl'>title</a>
typelink = <a href='typeurl'>typename</a>
imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>
image = <img src='picname' border='0' width='imgwidth' height='imgheight' alt=’titile’>
字段调用方法:[field:varname/]
如:
{dede:arclist infolen='100'}
[field:textlink/]
<br>
[field:infos/]
<br>
{/dede:arclist}
注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。
如: 给当天发布的内容加上 (new) 标志
[field:senddate runphp='yes']
$ntime = time();
$oneday = 3600 24;
if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>";
else @me = "";
[/field:senddate]
用Dedecms中的arclist标签也是可以在列表页调用文章内容的,虽然在官方的标签说明中,arclist标签的底层标签中不包含body。调用的Html格式如下:
{dede:arclist typeid='' titlelen='' limit='' orderby='' addfields='body' channelid='1'}
[field:body/]
{/dede:arclist}
重点就是addfields='body' channelid='1'这部分,意思为调用ID为1的内容模型中的附加字段body。因此除了在列表页中加入上述代码外,还需要进入Dedecms后台--核心--频道模型--内容模型管理--普通文章,点击进入后,在“列表附加字段”这个项目中添加字段:body,这样就可以了。
为什么要分享?因为织梦的一些技术问题,在织梦官网论坛很难找到解决方法,论坛提问一般无人回答,下面遇到的有些问题我自己都花费了很长时间才解决。
特别提醒:优化要适度,自然,以提高用户体验为主。
以下经验和技巧,有些为本人修改,有些网上收集,全部放在这里集中,有需要的可以直接全部拿去,也欢迎网友完善。
1、随机文章:好处就在于能够保证文章有新鲜内容,但前提是你必须要有一定文章数量,50篇以下的就不要用了,请将换成你的域名。
调用代码:
复制代码
代码如下:
{dede:arclist titlelen=30 orderby=rand row=8 typeid=rand}
lia href=""/a/li
{/dede:arclist}
2、翻页标题重复问题:dedecms列表页假如有多页的话,标题都是一样的,到57版本仍然没有改进(希望官方在下一个版本改进)。其实最简单的就是加个第一页第二页即可。
修改代码:在列表页模板中将原来的标题调用标签{dede:fieldtitle/}换成{dede:fieldtitle/}_第 {dede:pagelistlistsize=0listitem=pagenofunction=html2text(@me)/}页 -{dede:globalcfg_webname/},会生成“标题_第1页-网站名称”之类的标题。
3、自动关键字:从53起,系统就一直自动带这个功能,只不过很多人不知道怎么用而已。这是一个非常强大的功能。使用方法如下:
设置步骤:后台的“核心”→“批量维护”→“文档关键词维护”,新增关键字并同时加上要链接的网址即可。尽量避免重复,要精准单一,假如你给“兼职” 设置了一个链接,给“兼职网站”又加了一个,56以后的版本系统只会自动给兼职网站加,但以前的版本就会给兼职网站同时加上两个链接,请注意自己的使用的版本。
这里设置好了以后,还要需要再设置一个地方。后台的“系统设置”→“系统基本参数”→“其它选项”→“文档内容同一关键词替换次数(0为全部替换)”默认是2。这个可以根据自己的情况适当的调整。
4、相关文章设置:相关文章设置是有效提高用户体验的一种方法哦。57以后的系统自动带了这个功能了,以前的版本要自己添加。这个要注意一点的就是,相关文章的调用是根据tag标签或者关键字来调用的,假如你发表的文章这两个位置都没有设置的话,相关文章里面不会有内容的,因此,一定要设置一个。
5、dedecms调用wp博客文章:很多人用dedecms作主站,用wp搭建二级目录的博客,如何在dedecms中调用wp的文章,这个我花费了很长时间才调试好,前提是wp启用了固定链接,下面的例子是数字链接,调用的是博客内的最新文章,将域名换成你自己的就行了。
调用代码:
{dede:sql sql=select id as post_id from wp_posts where post_status=publishand post_type=post order by id desc limit 0,10}
li class=dotlinea href=
{/dede:sql}
6、谷歌地图:谷歌地图对于谷歌收录帮助非常之大,57版自带谷歌地图了。
设置步骤:后台的“核心”→“频道模型”→“自由列表管理”,简单设置更新即可,这里要特别注意一点的是,系统自动生成不带首页和列表页这关键的几页(不知道是不是官方的失误),只有文章页,请在模板googlemaphtm自己加上。
7、首页调用问答模板文章:开通了问答模块的,首页应该如何调用呢?这个我调式了很久,虽然现在没用了,但可能有网友有用:
调用代码:
{dede:askrow=‘14’qtype=‘ok’orderby=‘pubdate’}
liahref=/ask/question-id-[field:id/]htmltarget=_blank[field:title/]/a/li
{/dede:ask}
打开/include/taglib/asklibphp文件;修改 elseif($qtype==ok)$qtypeQuery=$tidstatus=1orderbysolvetimedesc;这条语句的 orderbyXXXXXdesc,把XXXX换成你要排序的字段就OK了。
8、适当优化:将当前位置的“主页”字样,改为“你自己的网站名称”。解释:学习过SEO的朋友一看就知道为什么了,增加内链,另一个好处就是利用回首页的关键词连接告诉蜘蛛,你的网站定位。其实这点真的很重要。
如何修改:在“系统参数设置”的主页链接输入“你的网站名称”即可,然后重新生成html。
9、全站RSS输出:织梦自带的rss和网站地图一样的,是按照栏目来分类的,不方便别人订阅。这个代码很长,自行去网上搜下,注意下就行了。
10、新窗口打开文章:小技巧,这个最简单的方法就是在把加入到headhtm这个模板的区域里里就行了,对其它cms一样实用哦,这样就不用每个链接都去设置了,一劳永逸。
以上内容,是本人3年多年使用织梦的经验,有些来自于网络,有些自己修改调试了很长时间,花费了很大的心血,现在分享出来,希望对正在或者即将使用dedecms建站的朋友有帮助。也欢迎大家分享更多经验。
orderby=’rand’
{dede:arclist row='1000' pagesize='10' titlelen='80' orderby='rand'}
<li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]</a></li>
{/dede:arclist}
row=’1000′ 返回1000个文档列表;
pagesize=’10′从上面的1000个文档列表中列出10个;
titlelen=’80′ 标题长度80;
orderby=’rand’随机获取文章
整个列表的意思就是列出1000个文章,随机获取10个再展示出来,其中文章标题最长为80。
{dede:arclist pagesize='10' titlelen='35' orderby='rand'}
<li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]</a></li>
{/dede:arclist}
pagesize='10' 这个代表生成10个标题
titlelen='35' 表示限制标题长度为35个字节
如果想抓取指定栏目下的内容要加入typeid=’这里填写栏目的ID’
{dede:arclist pagesize='10' titlelen='35' typeid='5' orderby='rand'}
0条评论