zblog模板的相關(guān)文章幾乎是必須的,不管是從SEO角度出發(fā)還是用戶體驗(yàn),相關(guān)文章推薦的好,能增強(qiáng)網(wǎng)站瀏覽量PV,增強(qiáng)訪客駐留時(shí)間!
越是優(yōu)秀的網(wǎng)站,在相關(guān)文章上就做的越好,大型網(wǎng)站的相關(guān)文章一般有自己的云數(shù)據(jù),做的更好!
zblogPHP也有自己的相關(guān)文章代碼:
方法一:這是官方網(wǎng)站wiki里提供的zblogPHP相關(guān)文章
搜索$article的相關(guān)文章(ZC_RELATEDLIST_COUNT選項(xiàng)默認(rèn)為10)
$array=GetList($zbp->option['ZC_RELATEDLIST_COUNT'],null,null,null,null,null,array('is_related'=>$article->ID));
在模板中,獲取并輸出獲取到的相關(guān)文章代碼參考如下
{$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>
如上代碼,調(diào)用的是基于相同tag標(biāo)簽的文章,越相關(guān)排位越靠前,如果本文沒有tag標(biāo)簽,則一個(gè)相關(guān)都調(diào)取不出來!
方法二:顯示同分類下的其它最新文章:
在官方給出的相關(guān)文章,是調(diào)用有共同tag標(biāo)簽的文章,但如果文章量少,而每一個(gè)tag又沒有足夠多的文章,或者甚至文章沒有tag標(biāo)簽,就無法調(diào)出相關(guān)文章,此時(shí)可以使用調(diào)用同分類下的最新文章作為相關(guān)文章使用,相關(guān)性也比較高!
<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開發(fā)者寫的相關(guān)代碼
<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}
注:這種調(diào)用的方式,兼容性不如官方提供的,所以我們開發(fā)者一般做zblog模板的時(shí)候還是習(xí)慣使用第一種方法,避免出現(xiàn)兼容性問題!
當(dāng)然,第二種方法也有自己的優(yōu)點(diǎn),如果tag存在,則按tag標(biāo)簽相關(guān)文章顯示,如果相關(guān)文章不足,則使用同分類下文章進(jìn)行補(bǔ)足!