织梦dedecms系统首页调用内容分类信息模型联动类别的方法

织梦dedecms系统首页调用分类信息联动类别(地区,类型等)的方法如下:

需要注意:这个方法只适用于dedecms V5.5,V5.6,V5.7     

dede模板系统中默认是没有办法调用枚举名(联动菜单名称)的,而只能调用枚举值,为了方便大家在以后制作模板,今天就给大家带来一个自定义的全局函数,有了这个函数,以后在调用联动菜单的时候就非常方便了。
一、遇到问题描述
           我们知道,联动菜单它是保存到了附加表里,我们在arclist标签中,要调用自定义附加表的字段,只能是通过:
{dede:arclist row='5' channelid='内容模型ID' addfields='自定义字段'}
insertext
{/dede:arclist}
这种方法来调用,比如以下这个实例:
{dede:arclist titlelen='60' row='8' channelid='1' addfields='nativeplace'} 
{/dede:arclist}
这个的意思是调用普通文章8条,并调用附加表中的nativeplace字段(注意:该字段是联动类别),但是调用的结果就是枚举值,是数字,不是地区。

二、解决方法
1)函数编写       

打开 /include/extend.func.php 文件(这个文件为自定义函数接口文件,若不存在,请自行创建),在最后一行的?>上添加如下代码:
function Getsysenum($fields){ 
global $dsql; 
$row = $dsql->GetOne("select * from dede_sys_enum where evalue = '".$fields."'"); 
if(!is_array($row)){ 
return " 联动类别不存在"; 
else{ 
return $row['ename']; 
}

  保存关闭即可!
2)函数调用       

这个函数的调用非常简单,只需要将“枚举值”传递过来即可,这个缓存组名通常也就是内容模型中的自定义联动菜单字段名:

function Getsysenum(‘枚举值');
3)调用实例       

我们来看一下调用的实例代码:
{dede:arclist titlelen='60' row='8' channelid='1' addfields='nativeplace'} 
{/dede:arclist}

其中[field:nativeplace function="Getsysenum(@me)"/] 就是将nativeplace字段进行Getsysenum函数处理。

这样就可以解决这个调用的问题了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值