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,后台增加了栏目的话得再把id写进去

第二种,根据父栏目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}

好处:只要写一个父栏目id,自动取下级子栏目id

缺点:循环父栏目下所有的子栏目id,如果某个子栏目的内容不想显示的话,不好实现

两种方法各有利弊,视情况选之。

时间: 2024-12-20 17:42:09

PhpCms V9调用指定栏目子栏目文章的两种方法的相关文章

Excel表格从指定部分重新分页打印的两种方法

Excel表格现在已经成为了一个极其重要的办公工具,尤其是在数据处理方面,它可以进行各种数据的处理.统计分析和辅助决策操作,但是在日常工作中我们经常对一些功能无从下手,例如在进行表格内容打印时,需要将其中内容从某行开始从新的一张纸继续打印,但是往往会发现内容会连续打印,保证每一页都不留空白.下面就通过具体的例子教大家如何让Excel表格内容从指定部分重新分页固定打印. Excel表格从指定部分重新分页打印的方法一 1.如图所示,是一份共10页的表格文档,每一页均是连续打印的,现假设需要让文档从第

shell中调用R语言并传入参数的两种方法

第一种: Rscript myscript.R R脚本的输出 第二种: R CMD BATCH myscript.R # Check the output cat myscript.Rout 调用R脚本的全部控制台log 传入参数: 在脚本中add args<-commandArgs(TRUE) 然后shell中: Rscript myscript.R arg1 arg2 arg3 注意取出来的参数是所有参数连在一起的character

Python批量重命名指定文件夹下文件的两种方法

#法一 import os path = "C://Python34//" for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: if file.find('.')<0: newname=file+'.jpg' os.rename(os.path.join(path,file),os.path.join(path,newname)) #法二 import os import

PHPCMS V9调用时间标签 |日期时间格式化

PHPCMS V9 如何调用时间标签,下面分享常见的调用时间标签 |日期时间格式化 1.日期时间格式化显示: a标准型:{date('Y-m-d H:i:s', $rs['inputtime'])} 输出为:2013-01-31 13:15:10 b拆分型:{date('Y',$rs[inputtime])}年{date('m',$rs[inputtime])}月{date('d',$rs[inputtime])}日 输出为:2013年01月31日 c扩展型: {date('Y',$inputt

调用zblog php版本相关文章的几个方法

我们在做zblog主题的时候,基于对seo的友好,需要在文章也设置相关文章,一般的调用相同分类的文章. 第一种方法可以通过下面代码进行调用: 这个方法是zblog官方比较推荐的. PHP {$aid=$article.ID}{$tagid=$article.Tags}{$cid=$article.Category.ID}{php} $str = ''; $tagrd=array_rand($tagid); if( sizeof($tagid)>0 && ($tagid[$tagrd]

[转]Delphi调用cmd的两种方法

delphi调用cmd的两种方法vars:string;begins:='cmd.exe /c '+edit1.Text+' >c:\1.txt';winexec(pchar(s),sw_hide);sleep(2000);memo1.Lines.LoadFromFile('c:\1.txt'); 2shellexecute(handle,nil,'cmd.exe',pchar(form2.edit1.text),nil,sw_hide);WinExec主要运行EXE文件.如:WinExec(’

线程的启动的两种方法,Runnable接口,run()的调用

实现并启动线程有两种方法1.写一个类继承自Thread类,重写run方法.用start方法启动线程2.写一个类实现Runnable接口,实现run方法.用new Thread(Runnable target).start()方法来启动 多线程原理:相当于玩游戏机,只有一个游戏机(cpu),可是有很多人要玩,于是,start是排队!等CPU选中你就是轮到你,你就run(),当CPU的运行的时间片执行完,这个线程就继续排队,等待下一次的run(). 调用start()后,线程会被放到等待队列,等待C

zabbix使用自己编写脚本模板和zabbix自带模板两种方法添加对指定进程和端口的监控

zabbix使用自己编写脚本模板和zabbix自带模板两种方法添加对指定进程和端口的监控 1.自带监控模板进行os的监控 进入/usr/local/zabbix/etc/zabbix_agentd.conf 配置文件修改 LogRemoteCommands=1     ###开启脚本功能 Server=192.168.5.129     ##修改zabbix指向的服务器: 重启zabbix_agentd.zabbix_server服务 在配置-->主机-->添加主机--> 配置主机信息主

【开发实例】C#调用SAPI实现语音合成的两种方法

我们都知道现在的语音合成TTS是可以通过微软的SAPI实现的,好处我就不多说了,方便而已,因为在微软的操作系统里面就自带了这个玩意,主要的方式有两种:  1.使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发出来的东西在XP和WIN7都能跑.(要引入SpeechLib,好像在项目上点引用,然后选到系统COM吧,好久没弄,记不清楚了)  2.使用WIN7的windows api,其实最终还是调用了SAPI,所以开发出来的东西就只能在WIN7上面跑.  其实不管是哪一种,都是调用S