您现在的位置是: 首页 > 值得一看 > zblog教程

zblog教程

zblog调用相关文章方法大全

老鱼网 时间:2022-07-06 阅读数:81

zblog模板的相关文章几乎是必须的,不管是从SEO角度出发还是用户体验,相关文章推荐的好,能增强网站浏览量PV,增强访客驻留时间!

越是优秀的网站,在相关文章上就做的越好,大型网站的相关文章一般有自己的云数据,做的更好!

zblogPHP模板相关文章.png

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标签相关文章显示,如果相关文章不足,则使用同分类下文章进行补足

可能喜欢