zblog模板的相关文章几乎是必须的,不管是从SEO角度出发还是用户体验,相关文章推荐的好,能增强网站浏览量PV,增强访客驻留时间!
越是优秀的网站,在相关文章上就做的越好,大型网站的相关文章一般有自己的云数据,做的更好!
zblogPHP也有自己的相关文章代码:
方法一:这是官方网站wiki里提供的zblogPHP相关文章
搜索$article的相关文章(ZC_RELATEDLIST_COUNT选项默认为10)
$array=GetList($zbp->option['ZC_RELATEDLIST_COUNT'],null,null,null,null,null,array('is_related'=>$article->ID));
在模板中,获取并输出获取到的相关文章代码参考如下
{$array=GetList($zbp->option['ZC_RELATEDLIST_COUNT'],null,null,null,null,null,array('is_related'=>$article->ID));} <ul id="related"> {foreach $array as $related} <li><span class="time">{$related.Time('m-d')}</span><span class="title"><a href="{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li> {/foreach} </ul>
如上代码,调用的是基于相同tag标签的文章,越相关排位越靠前,如果本文没有tag标签,则一个相关都调取不出来!
方法二:显示同分类下的其它最新文章:
在官方给出的相关文章,是调用有共同tag标签的文章,但如果文章量少,而每一个tag又没有足够多的文章,或者甚至文章没有tag标签,就无法调出相关文章,此时可以使用调用同分类下的最新文章作为相关文章使用,相关性也比较高!
<ul id="related"> {foreach GetList(5,$article.Category.ID) as $related} <li><span class="time">{$related.Time('m-d')}</span><span class="title"><a href="{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li> {/foreach} </ul>
方法三:其它zblogphp开发者写的相关代码
<ul> {$aid=$article.ID} {$tagid=$article.Tags} {$cid=$article.Category.ID} {php} $str = ''; $tagrd = array_rand( $tagid ); if ( sizeof( $tagid ) > 0 && ( $tagid[ $tagrd ]->Count ) > 1 ) { $tagi = '%{' . $tagrd . '}%'; $where = array( array( '=', 'log_Status', '0' ), array( 'like', 'log_Tag', $tagi ), array( '<>', 'log_ID', $aid ) ); } else { $where = array( array( '=', 'log_Status', '0' ), array( '=', 'log_CateID', $cid ), array( '<>', 'log_ID', $aid ) ); } switch ( $zbp->option[ 'ZC_DATABASE_TYPE' ] ) { case 'mysql': case 'mysqli': case 'pdo_mysql': $order = array( 'RAND()' => '' ); break; case 'sqlite': case 'sqlite3': $order = array( 'RANDOM()' => '' ); break; } $array = $zbp->GetArticleList( array( '*' ), $where, $order, array( 10 ), '' ); {/php} {foreach $array as $related} <li> <a href="{$related.Url}"> <div class="img"><img src={ydbaijia_thumbnail($related)} alt="{$related.Title}"></div> <p>{$related.Title}</p> </a> </li> {/foreach}
注:这种调用的方式,兼容性不如官方提供的,所以我们开发者一般做zblog模板的时候还是习惯使用第一种方法,避免出现兼容性问题!
当然,第二种方法也有自己的优点,如果tag存在,则按tag标签相关文章显示,如果相关文章不足,则使用同分类下文章进行补足!