世界超算排行榜:太湖之光!

IT教程学习网

网站建设

dede首页频道页arclist如何调用地区信息

文章来源:未知   作者:inalls   浏览量:
  在使用织梦dedecms二次开发建设B2B类型网站或分类信息网站时需要在首页或频道页分类信息联动类别(地区,类型等),如果内容模型是分类信息当然比较容易,但是如果在其他内容模型调用nativeplace地区信息就需要对CMS进行一定的修改。以下是静岳提供的修改方法:

适应的dedeCMS系统版本

这个方法只适用于dedecms V5.5,V5.6,V5.7

默认通过arclist标签调用地区信息出现的问题

我们知道,联动菜单它是保存到了附加表里,我们在arclist标签中调用自定义附加表的字段,只能是通过:

{dede:arclist row='5' channelid='内容模型ID' addfields='自定义字段'}
{/dede:arclist}
这种方法来调用,比如以下这个实例:
{dede:arclist titlelen='60' row='8' channelid='1' addfields='nativeplace'}
[field:nativeplace/][field:title /]
{/dede:arclist}
这个方法调用自定义的nativeplace地区信息的结果就是枚举值,是数字,不是地区,这样就达不到良好的浏览体验。我们通达以下增加处理函数的方法来把枚举值转化为地区信息。

添加默认函数解决枚举值是数字

打开 /include/extend.func.php 文件(这个文件为自定义函数接口文件),在上一个函数之后上添加如下代码:
function GetplaceFromnum($fields){
$sheng=$fields-$fields%500;
global $dsql;
$sheng_array = $dsql->GetOne("select * from qbj_sys_enum where evalue = '".$sheng."' and egroup='nativeplace'");
if(!is_array($sheng_array)){
return "无省分信息";
}
$shi_array = $dsql->GetOne("select * from qbj_sys_enum where evalue = '".$fields."' and egroup='nativeplace'");
if(!is_array($shi_array)){
return "无城市信息";
}
$place.=$sheng_array['ename'].'  '.$shi_array['ename'];
return $place;'
}
保存关闭即可!

调用刚才编写的自定义函数


{dede:arclist titlelen='60' row='8' channelid='1' addfields='nativeplace'}
[field:nativeplace function="GetplaceFromnum(@me)"/][field:title /]
{/dede:arclist}

调用自定义函数运行的结果实例为:省份名称    城市地区名称。例如河北省  石家庄这样的形式。

分享到:

  • 上一篇:dede如何让arclist标签支持自定义字段
  • 下一篇:没有了
  • Copyright © 2014-2026 深腾网 版权所有:静岳互联网咨询工作室
  • 冀ICP备16020878-1