仿站咨询QQ:2587483189

手机微信同号:15850888840

arclistsg标签在首页调用联动类型字段总结

仿站用DEDE做个房产网,遇到最多的问题是联动类型方面的问题,非常的难处理。今天处理首页调用自定义字段,联动类型死都调不出来。在论坛搜索了n遍,测试了n+1遍终于调出来了,可是一个下午加一个晚上也过去了。。。。

正题:在不改动程序的情况下,首页调用联动类型出来的是枚举值,也就是一堆垃圾数字。需要改动include\channelunit.func.php这个文件,把枚举值变成枚举名。

在上述文件中加入以下代码:

 
复制代码
  1. //联动类型
  2. function GetInfoType($联动类别组名)
  3. {
  4. global $dsql;
  5. $typename='';
  6. $query = " Select ename From `dede_sys_enum` where egroup = '联动类别组名' And evalue = '$联动类别组名";
  7. $dsql->Execute('ename',$query);
  8. while($row=$dsql->GetArray('ename'))
  9. {
  10. $typename .=($typename=='' ? $row['ename'] : ','.$row['ename']);
  11. }
  12. return $typename;
  13. }
  14. ?>


在首页用以下代码调用:

 
复制代码
  1. {dede:arclistsg addfields='联动类别组名' row='8' channelid='模型ID' typeid='栏目ID' titlelen='24' }
  2. [field:联动类别组名 function=GetInfoType(@me)/]
  3. {/dede:arclistsg}


如果想做成链接的形式,可以用下面的代码:

 
复制代码
  1. //联动类型
  2. function GetInfoType($联动类别组名)
  3. {
  4. global $dsql;
  5. $typename='';
  6. $query = " Select ename From `dede_sys_enum` where egroup = '联动类别组名' And evalue = '$联动类别组名";
  7. $dsql->Execute('ename',$query);
  8. while($row=$dsql->GetArray('ename'))
  9. {
  10. $typename .=($typename=='' ? $row['ename'] : ','.$row['ename']);
  11. $typelink = "<a href='$cfg_phpurl/plus/list.php?channelid=模型ID&联动类别组名=$联动类别组名'>$typename</a>";
  12. }
  13. return $typelink;
  14. }
  15. ?>


这样点击链接就可以直接查询该模型下所有同枚举值的列表了。链接的路径并不一定适用,要根据自己的网站目录路径修改。

还有很重要的一点,该联动类别必须要有至少一个二级分类,也就是子分类下的子分类才能调用成功,这是我测试了一个下午得出来的结果,总结完毕。

  • 上一篇:DEDECMS5.6添加文档发布文章白屏,无法显示解决方案
  • 下一篇:dedecms列表页调用子栏目文章数
  • 来源:www.51fangzhan.com//所属分类: 织梦仿站 /更新时间:2010-10-16
    相关仿站教程