dede调用指定栏目下相关文章的实现方法
php  /  管理员 发布于 7年前   120
首先明确要达到两个要求:
1、要调用指定栏目
2、调用的文章要包含指定关键字
相关文档调用
{dede:likeart titlelen=’24′ row=’10′}
<li><a title=”[field:title function='htmlspecialchars(@me)'/] ” href=”[field:arcurl /]“>[field:title /]</a></li>
{/dede:likeart}
注:此为dede官方的调用模板,但至今不清楚调用依据!
指定栏目调用
{dede:arclist typeid='栏目ID' row='10' titlelen='20'}
[field:textlink/]
{/dede:arclist}
下面是我自己要达到的效果:
指定栏目(ID=4)相关新闻(keyword要调用关键字或title)的调用
{dede:arclist typeid='4' row='10' titlelen='20' keyword=''}
[field:textlink/]
{/dede:arclist}
代码1
效果1:
代码2:
效果2:
到这里你如果是只是单一关键词的话那就可以了。下面的关键是我的关键词要去调用:即keyword='{dede:field name='keywords’/}' 或者我调用标题
keyword='{dede:field name='title'/}'
不过这种很少用,因为是调用模板。没人愿意所有的文章都调用同一个关键字吧!
博主推荐方法:
--------------------------------------------------------------------------------------
放在文章模板页内
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
就表示是取所有栏目内的相关文章(与当前文章的关键字相关),标题长度最大32,最多显示10条,不显示缩略图
或
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三语文”)’/}
可以找到标题里,含有“高三 语文”,或者含有“高三”或“语文”的文章
例如,这一段:
相关文章
{dede:likeart titlelen=’24′ row=’10′}
[field:textlink/]< >
{/dede:likeart}
就改成:
相关文章
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
根据关键字来相关文章,就用户体验以及SEO来说都是非常好的
唯一不好的地方就是生成静态的时候会慢很多
--------------------------------------------------------------------------------------------------
附1:arclist 中 keyword 怎样调用当前文档的关键字(dedecms织梦技术论坛)
附2: {dede:arclist}的学习心得,调用文章或者软件任何字段
附3、dedecms实现{dede:arclist keyword='[field:title/]'}效果
【Arclist 标记】 这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart、coolart、likeart、artlist、imglist、imginfolist、specart、autolist 这些标记都是由这个标记所定义的不同属性延伸出来的别名标记。 功能说明:获取指定的文档列表 适用范围:封面模板、列表模板、文档模板 基本语法:底层模板字段:
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),writer,shorttitle,memberid
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
其中:
textlink = <a href='https:/cms/arcurl'>title</a>
typelink = <a href='https:/cms/typeurl'>typename</a>
imglink = <a href='https:/cms/arcurl'><img src='https:/cms/picname' border='0' width='imgwidth' height='imgheight'></a>
image = <img src='https:/cms/picname' border='0' width='imgwidth' height='imgheight'>
字段调用方法:[field:varname/]
如:
{dede:arclist infolen='100'}
[field:textlink/]
<br>
[field:info/]
<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]
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号