dedecms中使用arclistsg标签在首页调用联动类型字段的方法


在不改动织梦dedecms程序的情况下,首页调用联动类型出来的是枚举值,也就是一堆垃圾数字。需要改动includechannelunit.func.php这个文件,把枚举值变成枚举名。 在上述文件中加入以下代码:   //联动类型 function GetInfoType($联动类别组名) { global $dsql; $typename=”; $query = ” Select ename From `dede_sys_enum` where egroup = ‘联动类别组名’ And evalue = ‘$联动类别组名”; $dsql->Execute(‘ename’,$query); while($row=$dsql->GetArray(‘ename’)) { $typename .=($typename==” ? $row[‘ename’] : ‘,’.$row[‘ename’]); } return $typename; } ?> 在首页用以下代码调用:   {dede:arclistsg addfields=’联动类别组名’ row=’8′ channelid=’模型ID’ typeid=’栏目ID’ titlelen=’24′ } [field:联动类别组名 function=GetInfoType(@me)/] {/dede:arclistsg} 如果想做成链接的形式,可以用下面的代码:   //联动类型 function GetInfoType($联动类别组名) { global $dsql; $typename=”; $query = ” Select ename From `dede_sys_enum` where egroup = ‘联动类别组名’ And evalue = ‘$联动类别组名”; $dsql->Execute(‘ename’,$query); while($row=$dsql->GetArray(‘ename’)) { $typename .=($typename==” ? $row[‘ename’] : ‘,’.$row[‘ename’]); $typelink = “<a href=’$cfg_phpurl/plus/list.php?channelid=模型ID&联动类别组名=$联动类别组名’>$typename</a>”; } return $typelink; } ?> 这样点击链接就可以直接查询该模型下所有同枚举值的列表了。 链接的路径并不一定适用,要根据自己的网站目录路径修改。 还有很重要的一点,该联动类别必须要有至少一个二级分类,也就是子分类下的子分类才能调用成功