PHPCMS如何调用多个分类栏目的最新文章
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPCMS如何调用多个分类栏目的最新文章相关的知识,希望对你有一定的参考价值。
参考技术A这里不知道你说的多个分类具体是指什么情况,所以给出两种我们使用phpcms网站建设中常见的调用多个栏目的情况:
一、多个栏目正好是某个栏目下的子栏目,例如在“phpcms教程”(catid:1)栏目中有“使用教程”(catid:2)和“二次开发”(catid:3)两个子栏目,你想同时调用两个子栏目中的内容,这种情况下,直接指定父级栏目id即可,跟普通调用一样,因为phpcms系统会自动判断指定的栏目有无子栏目,如果有,获取所有子栏目下内容。
演示:
pc:content action="lists" catid="1" num="10" order="id desc"<ul>
loop $data $v
<li><a href="$v[url]">$v[title]</a></li>
/loop
</ul>
/pc
二、“多个栏目”是离散的无规律范围,例如有两个栏目它们不是同父级,catid分别是2和5,可能是你随机指定的两个,同时调用它们下面的文章就不能直接使用pc标签里的catid属性去指定了,我们使用where属性来直接限定数据读取条件。
演示:
pc:content action="lists" catid="2" num="10" order="id desc" where="catid=2 or catid=5"<!--这里的如果有where属性,catid属性指定的栏目范围已经无效了,但是还是要写上,不然会出错,所以这里catid属性的值可以随便写,但是保证其栏目的数据模型相同即可-->
<ul>
loop $data $v
<li><a href="$v[url]">$v[title]</a></li>
/loop
</ul>
/pc
PS:
如果你了解php编程和mysql数据库,会发现在第二种情况下实际上就是使用where属性直接指定sql命令中的where条件。你可以通过二次开发phpcms的标签解析方法来扩展更丰富的功能,这里的相关程序目录是 /phpcms/modules/content/class/content_tag.class.php里面的lists方法。
phpcms的详细使用开发教程可参考官方说明文档或到 iphpcms里来学习~
phpcms如何调用子栏目栏目说明
$CATEGORYS[$catid][description]这个只能调用当前栏目的,如何调用他的子栏目
PhpCms V9调用指定栏目子栏目文章的两种方法第一种、直接写子栏目id ,用cat in
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,如上面的21,22,23,24,25都是 15下面的子栏目,可以这样写:
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 参考技术A 因为$catid是当前栏目id,调用出来的当然是当前栏目的内容,你把$catid那个位置换成子栏目id不就行了,pc:content action="category" catid="$catid" 获取一下当前栏目子栏目id追问
pc:content action="category" catid="67"
$CATEGORYS[$catid][description]
/pc
这样不好用
我晕,大哥你这phpcms的标签用的...
pc:content action="category" catid="67" num="20" order="listorder DESC"
loop $data $r
$CATEGORYS[$r[catid]][description]
/loop
/pc
以上是关于PHPCMS如何调用多个分类栏目的最新文章的主要内容,如果未能解决你的问题,请参考以下文章
phpcms栏目页模板上,循环所有子级栏目,设定每8个子级栏目为一页,请问具体如何分页?