织梦dedecms首页调用联动类别实现方法,dedecms
导读:dedecmsdedecms织梦 dedecms首页调用分类信息联动类别(地区,类型等)的方法如下: 需要注意:这个方法只适用于dedecms V5.5,V5.6,V5.7 dede模板 梦织模板织梦手机模板。
织梦dedecms首页调用分类信息联动类手机模板dede别(地区,类型等)的方法如下:
需要注意:这个方法只适用于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'} <li><span>[field:nativeplace/]</span><a href="[field:arcurl /]">[field:title /织梦后台模板]</a></li> {/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 "<font color='red'>联动类别不存在</font>"; } else{ return $row['ename']; } }
保存关闭即可! 2)函数调用
这个函数的调用非常简单,只需要将“枚举值”传递过来即可,这个缓存组名通常也就是内容模型中的自定义联动菜单字段名:
function Getsysenum(‘枚举值'); 3)调用实例 &nbsdede5.7模板p;
我们来看一下调用的实例代码: {dede:arclist titlelen='60' row='8' channelid='1' addfields='nativeplace'} <li><span>[field:nativeplace function="Getsysenum(@me)"/]</span><a href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist}
其中[field:nativeplace function="Getsysenum(@me)"/] 就是将nativeplace字段进行Getsysenum函数处理。
这样就可以解决这个调用的问题了。
声明: 本文由我的SEOUC技术文章主页发布于:2023-07-22 ,文章织梦dedecms首页调用联动类别实现方法,dedecms主要讲述首页,类别,织梦网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_34406.html