在不改动织梦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 = “$typename“;
}
return $typelink;
}
?>
这样点击链接就可以直接查询该模型下所有同枚举值的列表了。
链接的路径并不一定适用,要根据自己的网站目录路径修改。
还有很重要的一点,该联动类别必须要有至少一个二级分类,也就是子分类下的子分类才能调用成功