15621857753

phpcmsV9想要循环调用子栏目数据怎么二次开发

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

本文介绍了phpcmsV9想要循环调用子栏目数据怎么二次开发,循环调用子栏目数据还是很有用的,特别是在模板建站的时候,很多子栏目都是一样的,循环调出可以节省很多时间的。

在之前有关于循环调用的文章Phpcms V9栏目循环调用采用IF判断自定义不显示指定栏目方法里边,讲到了利用

{if $num%2==0}、{php if($r['catid']==1 || $r['catid']==2 || $r['catid']==3) continue;}

等判断语句,做到调用数据的自定义,今天在这里,继续围绕Phpcms V9的{loop subcat(0,0,0,$siteid) $r}循环调用,讲解一些细节技巧。

首先,介绍下Phpcms V9的{loop subcat(0,0,0,$siteid) $r}语句。

有不少朋友在企业建站CMS交流群102932231里边问:{loop subcat(0,0,0,$siteid) $r}这句怎么解释?今天在这里做详细讲解:什么是{loop subcat(0,0,0,$siteid) $r}以及括号里面的参数的含义。

{loop subcat(0,0,0,$siteid) $r} 是一个循环标记,意思是调用(0,0,0,$siteid)这个里边的子栏目数据,括号里边的这四个数值的含义依次是:

父级id 、栏目类型、是否包含本身(0为不包含、1为包括父栏目自身)、站点id

这一句的主要是作用是调用出同一个父级栏目下的子栏目数据。

其次,来探讨下{loop subcat(0,0,0,$siteid) $r}的来源。

subcat函数的定义是在phpcms/libs/functions/global.func.php文件中,函数原型为:

function subcat($parentid = NULL, $type = NULL,$self = '0', $siteid = '') {

if (empty($siteid)) $siteid = get_siteid();

$category = getcache('category_content_'.$siteid,'commons');

foreach($category as $id=>$cat) {

if($cat['siteid'] == $siteid && ($parentid === NULL || $cat['parentid'] == $parentid) && ($type === NULL || $cat['type'] == $type)) $subcat[$id] = $cat;

if($self == 1 && $cat['catid'] == $parentid && !$cat['child']) $subcat[$id] = $cat;

}

return $subcat;

}

如果你要定义这一显示方式或者增加变量,你可以从这块入手。今天在这里,不做深入研究,欢迎有兴趣的朋友研究后在群里分享。

下一页,将具体探讨如果运用{loop subcat(0,0,0,$siteid) $r}循环语句调用具体数据。

最后,来看看{loop subcat(0,0,0,$siteid) $r}循环语句是怎么调用具体数据的:

官方调用的方式:

{loop subcat(0,0,0,$siteid) $r}

{php $num++}

<div class="box cat-area" {if $num%2!=0}style=" margin-right:10px"{/if}>

<h5 class="title-1">{$r[catname]}<a href="{$r[url]}" class="more">鏇村>></a></h5>

<div class="content">

{pc:content  action="lists" catid="$r[catid]" order="updatetime DESC" thumb="1" num="1" return="info"}

{loop $info $v}

<p>

<img src="{thumb($v[thumb],90,0)}" width="90" height="60"/>

<strong><a href="{$v['url']}" target="_blank" title="{$v['title']}"{title_style($v[style])}>{str_cut($v['title'],28)}</a></strong><br />{str_cut($v['description'],100)}

</p>

{/loop}

{/pc}                

<div class="bk15 hr"></div>

{pc:content action="lists" catid="$r[catid]" num="5" order="id DESC" return="info"}

<ul class="list lh24 f14">

{loop $info $v}

<li>路<a href="{$v['url']}" target="_blank" title="{$v['title']}"{title_style($v[style])}>{str_cut($v['title'],40)}</a></li>

{/loop}

</ul>

{/pc}

</div>

</div>

{if $num%2==0}<div class="bk10"></div>{/if}

{/loop}

下页,将抓图放出一个栏目循环调用的一个示范。

可以看出是这样的方式:

{loop subcat(0,0,0,$siteid) $r}

{php $num++}

<!--自定义代码-->

{pc:content  action="lists" catid="$r[catid]" order="updatetime DESC" thumb="1" num="1" return="info"}

{loop $info $v}

<li>

<img src="{thumb($v[thumb],90,0)}" width="90" height="60"/>

<strong><a href="{$v['url']}" target="_blank" title="{$v['title']}"{title_style($v[style])}>{str_cut($v['title'],28)}</a></strong><br />{str_cut($v['description'],100)}

</li>

{/loop}

{/pc}                

<!--自定义代码-->

{if $num%2==0}<div class="bk10"></div>{/if}

{/loop}

本文到此就介绍完了,有此需要的朋友动手看看,温馨提醒最好备份一下数据哦。

展开