Wecms导航循环标签

2024-02-03- admin

栏目循环调用示例代码

<ul class="menu">
    {volist name=":NavList(0,0,'desc')" id="nav"}
       <li><a href="{:navurl($nav.id)}" target="_blank" rel="noopener">{$nav.title}</a></li>
    {/volist}
</ul>

以上是一个简单的循环示例,其中volist 是Thinkphp常见的内容循环解析标签,注意看 :NavList(0,0,'desc') 此变量代表了我们后台的所有栏目数据。

:NavList(0,0,'desc')括号内

参数1:是否一级导航 0为初始化(只调用主栏目)、指定ID1、2、3、4列出指定ID的栏目下的子栏目

参数2:栏目类型    0为初始化(不指定类型) 指定类型需传入字符串 apppic、artcle、user等等

参数3:排序规则 desc asc 升序/降序

id="nav" 此处nav 为内部循环的变量唯一前缀,可设置任意字母组合,注意:栏目多层嵌套的时候要注意区分开

$nav.seotitle 栏目SEO标题

$nav.title 栏目标题

$nav.id 栏目ID

:navurl($nav.id) 栏目链接

当然你也可以进行循环嵌套出调用出每个栏目的下级栏目

<ul class="menu">
    {volist name=":NavList(0,0,'desc')" id="nav"}
       <li>
            <a href="{:navurl($nav.id)}" target="_blank" rel="noopener">{$nav.title}</a>
             <ul class="sub-menu">
                   {volist name=":NavList($nav.id,0,'desc')" id="subnav"}
                     <li><a target="_blank" href="{:navurl($subnav.id)}">{$subnav.title}</a></li>
                  {/volist}
            </ul>
      </li>
    {/volist}
</ul>

以上是一个嵌套循环示例

注意看第6行的代码,

NavList函数中的第一个参数变成了$nav.id ,是的就是上面所说的(是否一级导航 0为初始化(只调用主栏目)、指定ID1、2、3、4列出指定ID的栏目下的子栏目),所以就不难理解了。

id="nav" 变成了id="subnav" 是因为这是双层循环嵌套,所以我们需要把内层和外层的变量命名区分开来。

通过以上两个示例,其实不论我们的导航有多少个层级,都能根据以上的方法调用出来,实现下拉列表也就不难了,赶快试试吧!

- END -

Wecms文章列表调用标签

Wecms文章列表调用标签多个示例讲解...