相关性内容调用
相关性文章调用指根据当前栏目或者文章的一些内容进行关联内容调用。简单就是:相关文章,根据关键词,根据栏目,根据tags等,有关联的东西进行查询调用。
内容页根据当前文章的关键词进行调用
{php
//判断是否存在关键词
if($jz['keywords']){
$kys = explode(',',$jz['keywords']);//拆分每个关键词
$sql = [];
foreach($kys as $v){
$sql[]= " title like '%".$v."%' or keywords like '%".$v."%' ";
}
//把所有查询拼接
$sqls = implode(' or ',$sql);
$sqls .= ' and id!='.$jz['id'];
}else{
//关键词,则查询栏目相同的文章
$sqls = 'tid='.$jz['tid'].' and id!='.$jz['id'];
}
/}
{loop table="article" sql="$sqls" notin="id|$jz['id']" isshow="1" limit="10" as="v"}
{/loop}
内容页根据当前文章的tags继续调用
{php
//判断是否存在tags
if($jz["tags"]){
$kys = explode(",",$jz["tags"]);//拆分每个关键词
$sql = [];
foreach($kys as $v){
if($v){
$sql[]= " tags like '%,".$v.",%' ";
}
}
//把所有查询拼接
$sqls = implode(" or ",$sql);
$sqls .= " and id!=".$jz["id"];
}else{
//关键词,则查询栏目相同的文章
$sqls = "tid=".$jz["tid"]." and id!=".$jz["id"];
}
/}
{loop table="article" sql="$sqls" notin="id|$jz['id']" isshow="1" limit="10" as="v"}
{/loop}
内容页根据相同栏目进行调用
{loop table="article" tid="$type['id']" notin="id|$jz['id']" isall="1" orderby="hits desc" isshow="1" limit="10" as="v"}
{$v_n}:计数,从1开始计
{$v_key}:计数,从0开始计
标题:{$v['title']}
所属栏目:{$classtypedata[$v['tid']]['classname']}
链接:{$v['url']}
缩略图:{$v['litpic']}
简介:{$v['description']}
内容:{$v['body']}
Tags:
{foreach explode(',',$v['tags']) as $s}
{if($s)}
标签名:{$s}
标签链接:{fun U('tags/index',['tagname'=>$s])}
{/if}
{/foreach}
评论数:{$v['comment_num']}
点击数/浏览量:{$v['hits']}
点赞数:{fun jz_zan($v['tid'],$v['id'])}
收藏数:{fun jz_collect($v['tid'],$v['id'])}
更多其他的扩展参数,请参考数据库article表字段进行输出
这里面输出内容格式:{$v['字段参数']}
{/loop}