PHPCMSv9呼叫多個欄目下文章的兩個辦法

科技小能手發表於2017-11-12

第一種、直接寫子欄目id ,用cat in

1
2
3
4
5
{pc:get sql="SELECT * from v9_news where status=99 and catid in(21,22,23,24,25) order by id DESC" num="7" return="data"}
{loop $data $r}
       <li><a href="{$r[url]}" title="{$r[title]}" target="_blank">{str_cut($r[`title`],40)}({date(`m-d`,$r[inputtime])})</span></a></li>
{/loop}
{/pc}

這種方法的好處:可以想取那個欄目可以自定義

缺點:要寫多個id,後臺增加了欄目的話得再把id寫進去


第二種,根據父欄目id,如上面的21,22,23,24,25都是 15下面的子欄目,可以這樣寫:

1
2
3
4
5
6
7
8
9
{loop subcat(15)  $k $v}
{php $subcatid[] = $k;}
{/loop}
{php $subcatid  = implode(`,`$subcatid);}
{pc:get sql="SELECT * from v9_news where status=99 and catid in ($subcatid) order by id DESC" num="7" return="data" }
{loop $data $r}
        <li><span><strong><a href="{$CATEGORYS[$r[catid]][url]}">[{$CATEGORYS[$r[catid]][catname]}]</a><a href="{$r[url]}" title="{$r[title]}" target="_blank">{str_cut($r[`title`],40)}</a></strong><em>[{date(`Y-m-d`,$r[inputtime])}]</em></span></li>
{/loop}
{/pc}

好處:只要寫一個父欄目id,自動取下級子欄目id

缺點:迴圈父欄目下所有的子欄目id,如果某個子欄目的內容不想顯示的話,不好實現

本文轉自 gutaotao1989 51CTO部落格,原文連結:http://blog.51cto.com/taoyouth/1588253


相關文章