联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
《子栏目下如何 循环导航二级、三级、四级导航》 用到 {loop $related $c }
类型:迅睿CMS 更新时间:2021-08-07 02:16:23

《子栏目下如何 循环导航二级、三级、四级导航》 用到   {loop $related $c }


已知 循环栏目 产品分类 循环页,例如  

产品中心 ID4   productlist.html 二级分类左侧导航代码如下:


     {loop $related $c }

        <li>

          <a {if $c.id==$cat.id} class=" active"{else}class=" "{/if} href="{$c.url}">{$c.name}</a>

        </li>

   {/loop}


产品一级分类都正常如:、

服饰

电子产品

食品


这一切都正常  


如果导航想增加 一个二级分类 ,例如上衣分类 ID34, 那么下面的代码循环为什么不显示 

     {loop $related $c }

        <li>

          <a {if $c.id==$cat.id} class=" active"{else}class=" "{/if} href="{$c.url}">{$c.name}</a>

          {if $c.child}<span class="menu_head">+</span>

          <ul class="left_snav_ul menu_body"> 

   <li><a  class="biglink" href="{$c2.url}">{$c2.name} </a></li> 

        </ul>

      {else}{/if}

      </li>

   {/loop}

为什么   紫色   二级分类为什么不能正常调用?


回帖
  • 迅睿粉丝
    #1楼    迅睿粉丝
    2021-08-07 01:20:44
    Chrome 0
    那你不能用这个标签 {loop $related $c },这个标签的作用是显示当前栏目的同级或者下级分类,不适用于你的需求我觉得应该用这种思路
    <!--调用共享栏目-->
    <!--第一层:调用pid=0表示顶级-->
    {category module=share pid=0}
    <li class="menu-dropdown classic-menu-dropdown {if IS_SHARE && $catid && dr_in_array($catid, $t.catids)} active{/if}">
        <a href="{$t.url}" title="{$t.name}" {if $t.tid==2} target="_blank"{/if}>{$t.name}</a>
        {if $t.child}
        <ul class="dropdown-menu pull-left">
            <!--第二层:调用第二级共享栏目-->
            {category module=share pid=$t.id return=t2}
            <li class="{if $t2.child} dropdown-submenu{/if} {if IS_SHARE && $catid && dr_in_array($catid, $t2.catids)} active{/if}">
                <a href="{$t2.url}" class="nav-link nav-toggle " title="{$t2.name}">
                    {$t2.name}
                </a>
                {if $t2.child}
                <ul class="dropdown-menu pull-left">
                    <!--第三层:调用第三级共享栏目数据-->
                    {category module=share pid=$t2.id return=t3}
                    <li class="{if IS_SHARE && $catid && dr_in_array($catid, $t3.catids)} active{/if}">
                        <a href="{$t3.url}" title="{$t3.name}">
                            {$t3.name}
                        </a>
                    </li>
                    {/category}
                </ul>
                {/if}
            </li>
            {/category}
        </ul>
        {/if}
    </li>
    {/category}
  • 迅睿粉丝
    #2楼    迅睿粉丝
    2021-08-07 01:26:46
    Chrome 0
    迅睿框架联合创始人 这个有BUG(@反馈BUG),会出现顶级或者顶级分类循环重复,不完美。
  • 迅睿粉丝
    #3楼    迅睿粉丝
    2021-08-07 01:32:05
    Chrome 0
    顶级或者顶级分类循环重复是什么意思,截图看看效果
  • 迅睿粉丝
    #4楼    迅睿粉丝
    2021-08-07 01:38:21
    Chrome 0
    迅睿框架联合创始人 只想检测当前 list 列表下的 一级分类 ,和二级分类, {loop $related $c }

    {loop $related $c }

    <li>

    <a {if $c.id==$cat.id} class=" active"{else}class=" "{/if} target="_blank" href="{$c.url}">{$c.name}</a>

    {if $c.child}<span class="menu_head">+</span>

    <ul class="left_snav_ul menu_body">

    <li><a class="biglink" target="_blank" href="{$c2.url}">{$c2.name} </a></li>

    </ul>

    {else}{/if}

    </li>

    {/loop}

    以上代码用于 产品列表页 子分类导航 左侧边导航



    产品分类 顶级分类--产品中心 产品中心 list.html 2 级分类 服装中心,{$c.name} 3 级分类 上衣 {$c2.name} 就到这里。。。。。然而 {$c2.name} 无法显示

  • 迅睿粉丝
    #5楼    迅睿粉丝
    2021-08-07 01:44:14
    Chrome 0
    没明白你的思路和意图-------
    {if $cat.child}
    输出下级子栏目
    {category pid=$catid return=c}
    <a href="{$c.url}">{$c.name}</a>
    {/category}
    {else}
    没有下级栏目
    {/if}
    满意答案
  • 迅睿粉丝
    #6楼    迅睿粉丝
    2021-08-07 01:49:19
    Chrome 0
    迅睿框架联合创始人 用 了
    <!--调用共享栏目-->
    <!--第一层:调用pid=0表示顶级-->
    {category module=share pid=0}
    。。。。。。。。。这个后, 不能很灵活的在本页面分类下 仅调用本 分类 下的 子分类循环导航, 会循环重复出现一些其他类目一级导航,所以不完美。和其他的CMS还是有些不同,所以 {loop $related $c } 这个仅仅只能显示 产品中心 分类下 服饰 类 ,他分类下的 “”上衣“”子分类 就显示不了了, 上面的截图是我手工打上去的。


  • 迅睿粉丝
    #7楼    迅睿粉丝
    2021-08-07 01:52:36
    Chrome 0
    我就不信了,还有什么数据迅睿掉不出来的你安装一个向日葵远程控制软件,然后把伙伴识别码和验证码(写在“仅管理员可见区域”)发给我,我来远程操作看看
  • 迅睿粉丝
    #8楼    迅睿粉丝
    2021-08-07 02:00:22
    Chrome 0
    {if $cat.child}
    输出下级子栏目
    {category pid=$catid return=c}
    <a  target="_blank" href="{$c.url}">{$c.name}</a>
    {/category}
    {else}
    没有下级栏目
    {/if}
    迅睿框架联合创始人 看到了, 你这个判断到 “服饰”{$c.name} 了, 服饰分类 下如果再有一下级分类 例如"上衣" , 导航, 如何命名和调用?{$c2.name} 吗? 之前看到有官方写的这个例子:
    {category module=share pid=4 return=c1}
        我是父栏目:{$c1.name}<br>
        {if $c1.child}
        存在子栏目
        {category module=share pid=$c1.id return=c2}
            我是{$c1.name}的子栏目:{$c2.name};
    		
    		{category module=share pid=$c1.id return=c3}
    		 {if $c2.child}  我是{$c2.name}的子栏目:{$c3.name} <------------上衣   的位置
    		  {/category}
            {/if}
    		
    		<br>
        {/category}
        {/if}
       {/category}
    我套用后, “上衣” 直接到了 上图的 {$c3.name}
    不是很好用,能不能 用 {loop $related $c } 写出来2、3级的循环字段 {$c2.name} {$c3.name} ?
  • 迅睿粉丝
    #9楼    迅睿粉丝
    2021-08-07 02:02:04
    Chrome 0
    😓 远程吧,懒得给你绕来绕去,我直接给你写成品出来
  • 迅睿粉丝
    #10楼    迅睿粉丝
    2021-08-07 02:11:21
    Chrome 0
    正确答案在5楼代码,楼主思路存在问题,不明白变量作用域和循环的使用方式,基础语法不熟悉
  • 迅睿粉丝
    #11楼    迅睿粉丝
    2021-08-07 02:16:23
    Chrome 0
    @迅睿框架联合创始人:基础太差了,被老大训斥一番。努力了~~!~~~~