最新公告
  • 欢迎加入中国站长资源网团队,精品资源持续增加!立即加入我们
  • PHPCMS二次开发多栏目调用方法

    如果你的是一个小型的网站,只有一级分类,不存在子分类,那很简单,上代码

    PHPCMS单个栏目调用方法

    {pc:get sql="SELECT * FROM v9_news WHERE catid in(1,3,5) ORDER BY id DESC" num="10"}
    {loop $data $v}
    <li><a href="{$v[url]}">{$v[title]}</a></li>
    {/loop}
    {/pc}

    这里我调用了分类ID为1,3,5的最新文章。

    但是,如果是一个稍一些的网站,有的存在子分类,有的不存在,那该如何调用呢?

    在PHPCMS中只能调用直接分类下的文章,也就是说如果指定一个分类ID存在子分类,那么将无法调出文章。所以我们要做的是如果是直接分类那么直接显示分类id,如果存在子分类,那么显示所有子分类id,最后再把他们用逗号连起来,就实现了相同的效果。

    phpcms二次开发多栏目调用方法

    <?php
    $assigncatid=array(23,24,19);
    $str =array();
    foreach($assigncatid as $row){
    $str[]=$CATEGORYS[$row][arrchildid];
    }
    $finalcatid= implode(',', $str);
    ?>
    {pc:get sql="SELECT * FROM v9_news WHERE catid in($finalcatid) ORDER BY id DESC" num="14"}
    {loop $data $v}
    <li><a href="{$v[url]}">{$v[title]}</a></li>
    {/loop}
    {/pc}

    这里我选了3个指定的分类id,其中23,24没有子栏目,19有很多子栏目。$CATEGORYS[$row][arrchildid] 这一句很重要,如果没有子分类直接显示该分类id,如果有子分类,就会以1,2,3,4,5这种格式显示所有子分类,数组中有3个值,所以foreach后会形成3个数组,分别为 23、24、以及19,43,44 其中43,44为19的子分类id.

    把这3组数据赋值给一个数组,然后在循环外用逗号切割成字符串,拼起来就是 23,24,19,43,44 这里是不是已经一目了然了,该实现的功能都实现了,enjoy!

    网上查了些资料,发现也有人这样来获取子分类ID

    {loop subcat(15)  $k $v}
    {php $subcatid[] = $k;}
    {/loop}
    {php $subcatid  = implode(',', $subcatid);}

    然后在读取SQL的条件中这样写 WHERE catid in($finalcatid)

    其实个人觉得这种做法纯属鸡肋,要获取一个指定栏目下的所有子栏目ID,直接用 $CATEGORYS[$catid][arrchildid]不就好了,其中$catid可以改成指定的父分类ID

    如果遇到资源下载失效,请复制当前文章链接类型客服处理!
    中国站长资源网 » PHPCMS二次开发多栏目调用方法

    常见问题FAQ

    【点击查看】免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    【点击查看】提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    【点击查看】开通终身至尊下载源码 “不完整” 或 “不能用” 怎么办?
    非常抱歉,你有权利告诉本站,但是本站有选择处理或者不处理的权力,如无法接受请不要开通本站会员。
    【点击查看】开通终身会员能下载全站资源码?
    可以100%下载全站源码资源的,除部分失效资源,失效的可以联系客服尝试恢复。

    发表评论