深夜求问大佬!用“$zbp->GetCategoryList”函数获取分类,怎么过滤指定ID?

用户 Hijerry 10天前 211

比如我有18个分类,其中分类ID为5和11是我不想调用的!

在使用“$zbp->GetCategoryList”函数获取所有分类的过程中

  {foreach $array=$zbp->GetCategoryList(null,null,array('cate_Order'=>'ASC'),null,null) as $cate}
    <div class="col-lg-3 col-md-4 col-sm-6 service-item pt-4">
        <div class="card-wrap">
            <a href="{$cate->Url}">
                <figure>
                    <img src="{$cate->Metas->cateimg01}" class="service-img" alt="{$cate->Name}">
                </figure>
                <div class="card-info">
                    <h4>{$cate->Name}</h4>
                </div>
            </a>
        </div>
    </div>
    {/foreach}

怎么过滤掉不想调用的分类呢?

最后于 10天前 被Hijerry编辑 ,原因:
最新回复 (13)
全部楼主
  • 超级版主 沉冰浮水 10天前 0
    引用 2

    PHP: PHP 手册 - Manual

    https://www.php.net/manual/zh/


    PHP: continue - Manual

    https://www.php.net/manual/zh/control-structures.continue.php


    continue 在循环结构用用来跳过本次循环中剩余的代码并在条件求值为真时开始执行下一次循环。


    本质上是个 PHP 问题而不是 Z-BlogPHP 问题;

    foreach ($cateList as $cate)
    {
      if ($cate->ID == 5 || $cate->ID == 11 ){
        continue;
      }
      // 剩下的分类会执行这里
    }


    QQ群:「我的咸鱼心」「「水坑」系列教程索引
    ←_←我大概率能够解决你所实际面临的问题(收费),然而”你提出的问题“却往往是另一个问题。

  • 用户 Hijerry 10天前 0
    引用 3
    沉冰浮水 PHP: PHP 手册 - Manualhttps://www.php.net/manual/zh/PHP: continue - Manualhttps://www.php.net/manual/z ...
    版主您好!感谢您的回复。
    我这样做的,但是感觉和之前的一样,不知道代码哪里错了!
    foreach ($cateList as $cate)
    {
      if ($cate->ID == 5 || $cate->ID == 11 ){
        continue;
      }
      
      {foreach $array=$zbp->GetCategoryList(null,null,array('cate_Order'=>'ASC'),null,null) as $cate}
        <div class="col-lg-3 col-md-4 col-sm-6 service-item pt-4">
            <div class="card-wrap">
                <a href="{$cate->Url}">
                    <figure>
                        <img src="{$cate->Metas->cateimg01}" class="service-img" alt="{$cate->Name}">
                    </figure>
                    <div class="card-info">
                        <h4>{$cate->Name}</h4>
                    </div>
                </a>
            </div>
        </div>
        {/foreach}
    }
  • 超级版主 尔今 10天前 0
    引用 4
    Hijerry 版主您好!感谢您的回复。 我这样做的,但是感觉和之前的一样,不知道代码哪里错了! foreach ($cateList as $cate) { if ($cate->ID == 5 ...
    这,一会儿模板写法,一会儿原生写法,很迷
    话说,水水,GetCategoryList应该也支持自写where吧

    这家伙有作品去看看他最近弄了啥?若需勾搭,具体应用页面有"QQ交谈"按钮~ Z-BlogPHP常见问题教程

  • 超级版主 沉冰浮水 10天前 0
    引用 5
    Hijerry 版主您好!感谢您的回复。 我这样做的,但是感觉和之前的一样,不知道代码哪里错了! foreach ($cateList as $cate) { if ($cate->ID == 5 ...
    $cateList = $zbp->getxxx 我省略掉了,然而感觉就算不省也会有其他的问题。。建议重点看下我签名。。

    QQ群:「我的咸鱼心」「「水坑」系列教程索引
    ←_←我大概率能够解决你所实际面临的问题(收费),然而”你提出的问题“却往往是另一个问题。

  • 超级版主 沉冰浮水 10天前 0
    引用 6
    尔今 这,一会儿模板写法,一会儿原生写法,很迷 话说,水水,GetCategoryList应该也支持自写where吧

    所以并不想去确认参数写法。。跳过又不是不能用.jpg。。

    QQ群:「我的咸鱼心」「「水坑」系列教程索引
    ←_←我大概率能够解决你所实际面临的问题(收费),然而”你提出的问题“却往往是另一个问题。

  • 用户 Hijerry 10天前 0
    引用 7
    尔今 这,一会儿模板写法,一会儿原生写法,很迷 话说,水水,GetCategoryList应该也支持自写where吧
    抱歉啊,版主!我描述问题的时候,没有将代码贴全,现在我更新了!
    默认我用的就是模板写法!只不过 ID为5和11的分类是主分类(一级目录),也一起显示出来了!寻思着怎么把这俩给过滤掉呢!
  • 超级版主 天兴工作室 10天前 0
    引用 8

    这不就是个if的事情么 

    {foreach $array=$zbp->GetCategoryList(null,null,array('cate_Order'=>'ASC'),null,null) as $cate}
    {if $cate->ID != 5 || $cate->ID !=11 }
        <div class="col-lg-3 col-md-4 col-sm-6 service-item pt-4">
            <div class="card-wrap">
                <a href="{$cate->Url}">
                    <figure>
                        <img src="{$cate->Metas->cateimg01}" class="service-img" alt="{$cate->Name}">
                    </figure>
                    <div class="card-info">
                        <h4>{$cate->Name}</h4>
                    </div>
                </a>
            </div>
        </div>
    {/if}
        {/foreach}

    天兴工作室 zblog模板主题定制

  • 用户 Hijerry 10天前 0
    引用 9
    天兴工作室 这不就是个if的事情么&nbsp;{foreach&nbsp;$array=$zbp-&gt;GetCategoryList(null,null,array(&#39; ...
    感谢大佬!!!
  • 用户 Hijerry 10天前 0
    引用 10
    天兴工作室 这不就是个if的事情么&nbsp;{foreach&nbsp;$array=$zbp-&gt;GetCategoryList(null,null,array(&#39; ...
    大佬,按你这个直接copy使用的,但是 ID为5和ID为11的父级分类还是显示出来了。不知道哪里错了。

    这个代码是在首页使用的!
  • 超级版主 尔今 9天前 0
    引用 11
    Hijerry 大佬,按你这个直接copy使用的,但是 ID为5和ID为11的父级分类还是显示出来了。不知道哪里错了。 这个代码是在首页使用的!

    ||换成&&

    父级还得加判断Parent->ID

    这家伙有作品去看看他最近弄了啥?若需勾搭,具体应用页面有"QQ交谈"按钮~ Z-BlogPHP常见问题教程

    最后于 9天前 被尔今编辑 ,原因:
  • 用户 Hijerry 8天前 0
    引用 12
    尔今 Hijerry 大佬,按你这个直接copy使用的,但是 ID为5和ID为11的父级分类还是显示出来了。不知道哪里错了。 这个代码是在首页使用的! ||换成 ...
    谢谢,换成&&  已经可以了!ID为5和11的已经可以过滤掉了!
  • 超级版主 thisexplorer 7天前 0
    引用 13
    正确过滤分类方法
    $zbp->GetCategoryList(null,array(array('NOT IN','cate_ID',array(5,11))),array('cate_Order'=>'ASC'),null,null)
    或者遍历$zbp->categories 进行id判断后continue跳过

    专注zblog开发,接受任意类型的主题定制和仿站、开发任意类型插件,微信小程序开发
    可风网 微信搜索“可风网”关注我们的公众号,有惊喜哦~
    QQ咨询
    zblog交流群 865945543

  • 用户 Hijerry 3小时前 0
    引用 14
    thisexplorer 正确过滤分类方法 $zbp->GetCategoryList(null,array(array('NOT IN','cate_ID',array(5,11))),array('cate_Ord ...

    感谢版主的耐心回复!问题已经解决了,谢谢。❤️

    • ZBlogger技术交流中心
      15
          
返回