热点问题
如何在DedeCMS 系统首页调用分类信息联动类别(类型/地区等)
文章来源:51网络科技 点击数: 更新时间:2013/6/9 22:19:06
购买国内免备案空间 | 购买香港空间【不限iis】 | 宽屏网站制作【还送手机网站】 |
香港云主机/99元/月 | 国内空间【免费备案】 | 特价网站空间 |
.Net专用空间 | 网站快速排名 | 游戏空间【支持月付】 |
注意:本教程适用于DedeCMS V5.5,V5.6 在织梦(DedeCMS)系统中默认是没有办法调用枚举名(联动菜单名称)的,而只能调用枚举值,为了方便大家在以后制作模板,今天就给大家带来一个自定 义的全局函数,有了这个函数,以后在调用联动菜单的时候就非常方便了。
一、遇到问题描述
我们知道,联动菜单它是保存到了附加表里,我们在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
@@ 功能:联动菜单调用读取
@@ 作者:51网络科技
@@ 网址:免备案空间(51cdz.com)
@@ 时间:2012年10月19日
*****************/
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函数处理。
国内、香港、美国、全免备案www.51mianbeian.com--51网络科技,专业免备案空间提供商!
- 上一篇:网络文学竞争加大-百度多酷文学网悄然上线
- 下一篇:汇款选择哪种方式最方便快捷?