# dedecms如何判断是否有二级栏目，输出ul

*Published:* 2023-10-13
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年10月13日，已超过 180天没有更新



打开include/extend.func.php文件，在文件最后添加函数：

```
/*** 判断是否有二级栏目，输出ul***/
function display_ul($i,$var='0'){
    global $dsql;
    $row = $dsql->GetOne("SELECT COUNT(id) as num FROM dede_arctype  WHERE reid = $i)");
    if($row['num']>0 ){
        if($var=='0'){
           return "<ul>"; 
        }else{
           return "</ul>";  
        }
    }
}
```

在前台，底层模板文件中的调用代码为：

```
{dede:channelartlist row=7 typeid=top currentstyle=current}
<li>
    <a href="{dede:field.typeurl/}">{dede:field.typename/}</a>
    {dede:field.id function='display_ul(@me)'/}
        <!-- 二级栏目 -->
        {dede:channel type=son noself=yes}
        <li>
            <a href="[field:typelink/]">[field:typename/]</a>
        </li>
        {/dede:channel}
    {dede:field.id function='display_ul(@me,1)'/}
</li>
{/dede:channelartlist}
```

### 代用调用解释：

> {dede:field.id function='display\_ul(@me)'/}
> 
> //输出对应&lt;ul&gt;标签 这些输出的标签，根据自己实际代码修改自己需要的代码  
> {dede:field.id function='display\_ul(@me,1)'/}
> 
> //输出对应&lt;ul/&gt;标签 这些输出的标签，根据自己实际代码修改自己需要的代码