织梦dede:arclist标签 如何调用最新且不包含(推荐、特荐、头条)等属性的文章?

织梦dede:arclist标签 如何调用最新且不包含(推荐、特荐、头条)等属性的文章?,第1张

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\include\extendfuncphp文件中添加如下函数:

function getArticleList($category=0,$order="",$limit="0,200"){

global $dsql;

$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,

        tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath

        FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid

        where tpid=$category";

//此sql语句我只加了where判断文章所属分类

//其他的order limit 你根据需要自己添加

$dsql->SetQuery($query);

$dsql->Execute('lit');

$arr = array();

$cnt = 0;

$str = "";

while ($row = $dsql->GetArray('lit')) {

if($cnt%4 == 0){

$str = "<div class='css1'>";

}

if($cnt%4 > 0){

$class = "css3";

}else{

$class = "css2";

}

$str = "<span class='"$class"'>"$row['title']"</span>";

$cnt++;

if($cnt%4 == 0){

$str = "</div>";

}

//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']

}

return $str;

}

然后在模板中使用 

{dede:field name='typeid' function="getArticleList(@me)" /}

将分类的id传给此函数就可以调用到数据,输出就是你要的格式。

输出内容你修改下php文件,常用字段都给你写在注释里了。

如果可以请也将我昨天给你回答的采纳一下。

{dede:arclist noflag='h,c,a' orderby='pubdate'}

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

{/dede:arclist}

这个用arclist就可以实现吧,里面有一个“type”参数可以设置调用文档的类型,在后台可以查看一下对应文档的类型,貌似推荐为幻灯片显示的文档其文档类型可以查看到。希望我的回答对你有些许的帮助

这个好像不能用一个调用就能完成的吧,正常来说你后台添加推荐属性是,打勾c

假设要显示10条带推荐属性的文章,并且是最新的,然后再显示10条最新的不带推荐属性的文章,模版里面的代码写上

{dede:arclist flag='c' row='10' orderby='pubdata' }

<LI><A hideFocus style="hide-focus: true" href="[field:arcurl/]">[field:title function="cn_substr('@me',24)"/]</A> </LI>

{/dede:arclist}

{dede:arclist noflag='c' row='10' orderby='pubdata' }

<LI><A hideFocus style="hide-focus: true" href="[field:arcurl/]">[field:title function="cn_substr('@me',24)"/]</A> </LI>

{/dede:arclist}

flag=‘c’就是调用带推荐属性的文章,noflag=‘c’就是不带推荐属性的文章,row=10就是十条,orderby=pubdate就是按时间顺序,就是最新的

{dede:channelartlist}

//顶级

{dede:field name='typeid'/}{dede:field name='typeurl'/}{dede:field name='typename'/}

//下级

{dede:channel}

[field:id /] [field:typeurl /] [field:typename /]

{/dede:channel}

{/dede:channelartlist}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 织梦dede:arclist标签 如何调用最新且不包含(推荐、特荐、头条)等属性的文章?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情