福州网站建设>网站新闻>thinkphp6专区

tp6问题新手请教一个模板循环的问题

发布日期:2022-03-06浏览次数:637 来源:福州网站建设

{volist name='typeData' id='vo'}
{volist name='appData' id='vo'}
{/volist}
{/volist}
两个嵌套的volist 循环,外边的是分类循环,里边是文章列表循环,怎么样才能依次循环出不同的分类和内容。可能描述的不太清楚,如下所示
分类1
文章1-1
文章1-2
分类2
文章2-1
文章2-2

以上是由福州网站建设的小编为你分享了"tp6问题新手请教一个模板循环的问题"文章,如果你在这方面有什么问题,随时联系我们

网友评论

  • han188126294 02月25日

    问题已解决 感谢二维老哥 贴下代码
    php部分
    foreach ($typeData as $k=>$val){
    $cate[$k]['id'] = $typeData[$k]['id'];
    $cate[$k]['cate_name'] = $typeData[$k]['cate_name'];
    foreach ($appData as $item){
    if ($item['cate_id'] == $val['id']){
    $cate[$k]['app'][] = $item;
    }
    }
    }

    模板部分
    {volist name="cate" id="vo" key="k"}
    {$vo.cate_name}
    {volist name="vo['app']" id="f"}
    {$f.id}
    {/volist}
    {/volist}
    还有个问题 就是cate['app'],值为空时,打印$cate时app列不赋值
    然后模板渲染时报错
    所有cate数组中存在app列时才正常

  • ab649412065 02月25日

    你吧数据的结构先整理一下,变成这样。
    typeData=[
    {"分类":1,"appData":[{"文章":1,"id":1},{"文章":2,"id":2},{"文章":3,"id":3}]},
    {"分类":2,"appData":[{"文章":4,"id":4},{"文章":5,"id":5},{"文章":6,"id":6}]},
    ]。
    这个是json格式的样子,这样两层循环就能嵌套了
    {volist name='typeData' id='type'}
    {$type.分类}
    {volist name='$type.appData' id='app'}
    {$app.文章}-{$app.id}
    {/volist}
    {/volist}

    不知道能不能理解

  • han188126294 02月25日

    感谢老哥 解决啦

  • 卟離卟弃 02月21日

    不要这样,如果是使用Db的,使用循环,把它们循环成3维数组,如果是使用模型的,使用hasMany 关联获取
    foreach ($cat as $k=>$val){
    $cat[$k]['list'] = [];
    foreach ($list as $item){
    if ($item['cat_id'] == $val['id']){
    $cat[$k]['list'][] = $item;
    }
    }
    }
    这是循环成三维数组的,实际上使用模型更加好,但是那个三两句说了你也不容易理解

  • han188126294 02月25日

    感谢老哥 解决啦

thinkphp6专区有关的文章
如果您有什么问题,欢迎咨询我们客服! 点击QQ咨询