分类最新文章

{pc:content action="lists" catid="$catid" num="20" order="id DESC" num="10"} 
{loop $data $v}
<li><a href="{$v['url']}">{$v['title']}</a></li>
{/loop}
{/pc}

以上代码为当前分类最新文章。指定分类最新文章只需把$catid改成分类ID即可。

全站最新文章

{pc:get sql="SELECT * FROM v9_news ORDER BY id DESC" num="10"}
{loop $data $v}
<li><a href="{$v[url]}">{$v[title]}</a></li>
{/loop}
{/pc}

全站最新文章和内容

{pc:get sql="SELECT * FROM v9_news a,v9_news_data b WHERE a.id=b.id ORDER BY updatetime DESC"}
{loop $data $v}www.jyivf.com
<h2><a href="{$v[url]}">{$v[title]}</a></h2>
<p>{$v[content]}</p>
{/loop}
{/pc}

跟上面的全站最新文章的代码区别在于这里需要调用2个表,没办法,标题字段title虽然在表v9_news,但是内容字段content却在表v9_news_data
补充
添加翻页功能
以上代码如果用于列表页还需要翻页功能,只需在pc标签后加一个参数

page="$page"

在循环内一般用以下方法调用

{if $pages}
{$pages}
{/if}

意思为:如果存在分页则显示分页
注意:在首页调用全站最新文章时,分页参数要看首页是动态还是静态。
page=”$page” 默认的静态
page=”$_GET” 首页动态必须把上面的替换成这个,否则分页失效。
只调用带缩略图的文章www.jyivf.net在标签里加上参数 thumb="1"
注意:hits方法不支持thumb属性 lists方法才行

全站最新文章和内容:

{pc:get sql="SELECT * FROM v9_news ORDER BY id DESC"}
{loop $data $v}
<li><a href="{$v[url]}">{$v[title]}</a></li>
{/loop}
{/pc}

=============================================================

如果你的是一个小型的网站,只有一级分类,不存在子分类,那很简单,上代码

{pc:get sql="SELECT * FROM v9_news WHERE catid in(1,3,5) ORDER BY id DESC" num="10"}
{loop $data $v}{$v[title]}{/loop}
{/pc}

这里我调用了分类ID为1,3,5的最新文章。

但是,如果是一个稍大一些的网站,有的存在子分类,有的不存在,那该如何调用呢?

在PHPCMS中只能调用直接分类下的文章,也就是说如果指定一个分类ID存在子分类,那么将无法调出文章。所以我们要做的是如果是直接分类那么直接显示分类id,如果存在子分类,那么显示所有子分类id,最后再把他们用逗号连起来,就实现了相同的效果。

{pc:get sql="SELECT * FROM v9_news WHERE catid in($finalcatid) ORDER BY id DESC" num="14"}
{loop $data $v}{$v[title]}{/loop}
{/pc}

这里我选了3个指定的分类id,其中23,24没有子栏目,19有很多子栏目。$CATEGORYS[$row][arrchildid] 这一句很重要,如果没有子分类直接显示该分类id,如果有子分类,就会以1,2,3,4,5这种格式显示所有子分类,数组中有3个值,所以foreach后会形成3个数组,分别为 23、24、以及19,43,44 其中43,44为19的子分类id.

把这3组数据赋值给一个数组,然后在循环外用逗号切割成字符串,拼起来就是 23,24,19,43,44 到这里是不是已经一目了然了,该实现的功能都实现了,enjoy!

网上查了些资料,发现也有人这样来获取子分类ID

{loop subcat(15)  $k $v}
{php $subcatid[] = $k;}
{/loop}
{php $subcatid  = implode(',', $subcatid);}

然后在读取SQL的条件中这样写 WHERE catid in($finalcatid)

其实个人觉得这种做法纯属鸡肋,要获取一个指定栏目下的所有子栏目ID,直接用 $CATEGORYS[$catid][arrchildid]不就好了,其中$catid可以改成指定的父分类ID

最后修改:2022 年 09 月 21 日
如果觉得我的文章对你有用,请随意赞赏