演示链接:查看演示

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

 

在不改动dedecmsCMSdedecms程序的情况下,首页调用联动类型出来的是枚举值,也就是一堆垃圾数字。需要改动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;

}

?>

这样点击链接就可以直接查询该模型下所有同枚举值的列表了。

链接的路径并不一定适用,要根据自己的网站目录路径修改。

还有很重要的一点,该联动类别必须要有至少一个二级分类,也就是子分类下的子分类才能调用成功
 

THE END
喜欢就支持一下吧
点赞0 分享