phpcms v9教程:{loop subcat(0,0,0,$siteid) $r}子栏目数据循环

{loop subcat( 0,0,0,$siteid ) $r}{/loop}是一个循环标记,意思是调用(0,0,0,$siteid)这个里边的子栏目数据,也就是说主要作用是调用出同一个父级栏目下的子栏目数据。括号里边的这四个数值的含义依次是:
父级id 、栏目类型、是否包含本身(0为不包含、1为包括父栏目自身)、站点id
 
{loop subcat(0,0,0,$siteid) $r}{/loop}来源:
subcat函数的定义是在 phpcms/libs/functions/global.func.php文件中,函数原型为:
/**
 * 获取子栏目
 * @param $parentid 父级id
 * @param $type 栏目类型   //1为单网页类型,0为栏目类型(查看数据库可以看到)
 * @param $self 是否包含本身 0为不包含
 * @param $siteid 站点id
 */
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;
}
 
示例1:官方首页示例
{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}
 
示例2:显示哪些栏目
{loop subcat(6,0,0,$siteid) $r}
{if $r['catid']==1||$r['catid']==2 }//显示栏目ID=1和栏目ID=2的栏目
{php $num++}
<div class="box cat-area" {if $num%2!=0}style=" margin-right:10px"{/if}>
  <h5 class="title-1">{$r}<a href="{$r}" class="more">更多>></a></h5>
  <div class="content">
    {pc:content  action="lists" catid="$r" order="updatetime DESC" thumb="1" num="1" return="info"}
    {loop $info $v}
      <p>
        <img src="{thumb($v,90,0)}" width="90" height="60"/>
        <strong><a   target="_blank" title="{$v['title']}"{title_style($v)}>{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" 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)}>{str_cut($v['title'],40)}</a></li>
    {/loop}
    </ul>
    {/pc}
  </div>
</div>
{if $num%2==0}<div class="bk10"></div>{/if}
{/if}
{/loop}
 
示例3:排除某个栏目
{loop subcat(6,0,0,$siteid) $r}
{if $r['catid']==3 }<?php continue; ?>{/if} //排除栏目ID=3的栏目,方法1
//{php if($r['catid']==3)continue;}//排除栏目ID=3的栏目,方法2
//{if $r['catid']==3||$r['catid']==4||$r['catid']==5 }<?php continue; ?>{/if}//排除栏目ID=3、栏目ID=4、栏目ID=5的栏目,方法1
//{php if($r['catid']==3||$r['catid']==4||$r['catid']==5)continue;}//排除栏目ID=3、栏目ID=4、栏目ID=5的栏目,方法2
{php $num++}
<div class="box cat-area" {if $num%2!=0}style=" margin-right:10px"{/if}>
<h5 class="title-1">{$r}<a href="{$r}" class="more">更多>></a></h5>
<div class="content">
{pc:content  action="lists" catid="$r" order="updatetime DESC" thumb="1" num="1" return="info"}
{loop $info $v}
<p>
<img src="{thumb($v,90,0)}" width="90" height="60"/>
<strong><a   target="_blank" title="{$v['title']}"{title_style($v)}>{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" 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)}>{str_cut($v['title'],40)}</a></li>
{/loop}
</ul>
{/pc}
</div>
</div>
{if $num%2==0}<div class="bk10"></div>{/if}
{/loop}



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值