dedecms arclistsg标签在首页调用联动类型字段的方法
仿站有个联动功能,使用很方便,但是在用ARCLISTSG调用联动的时候不好调用,需要修改下程序。步骤如下:
在不改动程序的情况下,首页调用联动类型出来的是枚举值,也就是一堆垃圾数字。需要改动include\channelunit.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;
}
?>
这样点击链接就可以直接查询该模型下所有同枚举值的列表了。链接的路径并不一定适用,要根据自己的网站目录路径修改。
还有很重要的一点,该联动类别必须要有至少一个二级分类,也就是子分类下的子分类才能调用成功。
- 相关链接:
- 教程说明:
dedecms arclistsg标签在首页调用联动类型字段的方法 。