站长学院
CMS建站教程 SEO优化攻略
来源:齐鲁建站 栏目:开发教程 阅读: 日期: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}
本文到此就介绍完了,有此需要的朋友动手看看,温馨提醒最好备份一下数据哦。