15621857753

PHPCMS实现只调用当前站点推荐位文章的办法

来源:齐鲁建站 栏目:开发教程 阅读: 日期:2020-07-31

最近有朋友问PHPCMS实现只调用当前站点推荐位文章的办法,齐鲁建站小编经过研究终于解决了这个问题。今天小编就来讲一讲的方法,希望可以帮助到大家。

下面就来说说PHPCMS调用推荐位文章的方法。

我们知道,PHPCMS默认的position标签可以实现调用推荐位的文章,因此,如果我们需要调用推荐位属性为首页头条推荐的话,可以用下面的标签实现。 

{pc:content action="position" posid="2" order="id DESC" num="1"}
{loop $data $r}
<h3><a href="{$r[url]}" target="_blank" title="{$r[title]}">{$r[title]}</a></h3>
<p>{str_cut($r[description],200,'..')}</p>
{/loop}  
{/pc} 

然而如果你有用到站群功能的话,上面的标签会把子站的首页头条推荐的文章页显示出来,这是我们不想要的。我们再改动一下,在后面加上siteid="$siteid" 这个试试,也即

{pc:content action="position" posid="2" order="id DESC" num="1" siteid="$siteid"}
{loop $data $r}
<h3><a href="{$r[url]}" target="_blank" title="{$r[title]}">{$r[title]}</a></h3>
<p>{str_cut($r[description],200,'..')}</p>
{/loop}  
{/pc} 

发现还是不行,siteid="$siteid"这个在推荐位标签失效,郁闷!算了,赞也没有时间去深入研究了,换个思路吧,我们用万能的get标签吧,最终实现我们要的效果。标签如下:

{pc:get sql="select `url`,`title`,`description` from `v9_position_data` a, `v9_news` b where a.id=b.id and a.posid='2' order by a.listorder desc" return="data" num="1" cache="3600"}
{loop $data $r}
<h3><a href="{$r[url]}" target="_blank" title="{$r[title]}">{$r[title]}</a></h3>
<p>{str_cut($r[description],200,'..')}</p>
{/loop}  
{/pc} 

PS:我们还可以再往后拓展下去,上面的标签其实还可以实现分页效果哦,试试下面的代码吧!

{pc:get sql="select * from `v9_position_data` a, `v9_news` b where a.id=b.id and a.posid=推荐位ID order by a.listorder desc"  return="data" num="20" cache="3600" page="$_GET"}
<ul class="list lh24 f14">
{loop $data $r}
<li><span class="rt">{date('Y-m-d',$r[inputtime])}</span> <a href="{$r[url]}" target="_blank" >{$r[title]}</a></li>
{if $n%5==0}<li class="bk20 hr"></li>{/if}
{/loop}
</ul>
<div id="pages" class="text-c">{$pages}</div>
{/pc}

以上就是关于PHPCMS调用推荐位文章的所有内容,改改看看吧,有不懂的地方加小编 QQ交流哦。

展开