首先明确要达到两个要求:
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='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'>
字段调用方法:[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]