dedecms 在会员空间首页调用所有文章和点击数
<tr>
{dede:arclist addfields='sjdz,yysj' channelid='1' row='10' orderby='sendate'}
<td>商家地址:[field:sjdz/]</td>
<td>营业时间:[field:yysj/]</td>
{/dede:arclist}
</tr>
有些参数是我随意加上去的,关键是addfields和channelid,addfields里面是你的自定义字段,channelid如果是普通文章就是1,其他后台有,根据需要改。
在制作模板的时候需要调用文章部分内容,用[field:description/]标签的时候发现字数不够多,只能调用文章正文部分的内容了,而列表而也是一样,只能通过[field:description function='cn_substr(@me,60)'/]来实现调用,以下我就发实现方法给大家。
dede:arclist flag='h' ' row='1' titlelen=''}
<h1><a href='[field:arcurl/]'>[field:title/]</a></h1>
<p>[field:id runphp='yes'] $aid = @me;
$row = $GLOBALS['dsql']->GetOne("Select body From
`d8_addonarticle` where aid='$aid' ");
@me = cn_substr(strip_tags("{$row['body']}"),400);[/field:id]
<a href='[field:arcurl/]'>阅读详细</a></p>
{/dede:arclist}
数字400是用来设置需要调用多少内容的,因为调用的是 body里面的内容,如果有里面包含代码的话也会被调用出来,有这点不好。自己去实践实践以。
/member/indexphp 搜索 / 最新文档8条 /
在其上方增加
//统计文章总数量$count = $dsql->GetOne("select COUNT() AS dd FROM #@__archives where mid='"$cfg_ml->M_ID"'");
//统计文章总点击数
$counts = $dsql->GetOne("select sum(click) AS count_number FROM #@__archives where mid='"$cfg_ml->M_ID"'");
indexhtm 模版中调用 统计文章总数量
<php echo $count['dd'];>indexhtm 模版中调用 统计文章总点击数
<php echo $counts['count_number'];>我给你段代码你参考着修改吧。
{dede:arclist typeid='35' row='10' titlelen='60'}<li><a target="_blank" href="[field:arcurl /]">[field:title/]</a></li>
{/dede:arclist}
给你解释下代码 typeid='35'这个是栏目的id 35 。架设你的那个爆笑笑话的id是12,那么你就需要typeid='12'这样写。row='10'这个是调取多少篇文章,titlelen=‘60’这个是标题的长度限制。
<li><a target="_blank" href="[field:arcurl /]">[field:title/]</a></li>这个就是调取文章标题了。
这样说你明白了吧。每个栏目都有一个独立的id的,你单独调用就ok了。
希望对你有所帮助,望采纳!
Dedecms的标签调用的是有区域限制的,一些标签只能在文章页和首页以及频道页才能调用,但是单页面也想调用“最新文章”等一些文章列表,如果是用{dede:arclist} {dede:arclist /}这些标签肯定是调用不了的,哪要怎么办呢这个不用怕,这个问题dedecms早就想到了,在dedecms中有个“宏标签”功能,用这个功能可以实现全站调用。
宏标签的设置:
打开dedecms后台——>模板-->自定义宏标签-->智能标志向导
1 选择一个你要的列表样式
2 设置“调用栏目”,这里不用说了,就是想要调用的栏目。
3 设置调用显示列表的文章条数,显示列数,标题长度,不过不设置也没事,回头想改还可以更改的。
4 提取特定文档,如果你有需要调用特定的文章就要选择一下,如果么有,就不用选择。
5 单条记录样式,这个有点重要,现在文章列表很多都是用<li></li>标签来做的,但是这里默认不是,如果你要在调用的时候适合你的页面,你需要自己修改一下,怎么修改
这里示范一下,
默认的标签:
修改为<li></li>标签对的:
还有很多功能,自己看支持字段。
6“生成模版调用标记”
7保存为自定义标记,这个很重要,一定要保存才可以了。要不下一步就么有内容可以做。
8回到模板-->自定义宏标记 ,可以看到刚才保存的宏标记,如果不保存,这里是没有的。
9点击“js调用”进行js调用代码提取
10将刚才复制的那段js代码粘贴到你要的地方即可
宏标签调用到此完成。
{dede:list pagesize='12' }
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<p>[field:description function="cn_substr(@me,168)"/]<a href="[field:arcurl/]">[查看全文]</a></p>
{/dede:list}
文章列表标准调用方式,pagesize后为要调用文章的条数,title为标题,description为简介,后边的数字为控制简介的数字、自己调整、
参考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]
0条评论