织梦dedecms首页调用联动类别实现方法

织梦 dedecms首页调用分类信息联动类别(地区,类型等)的方法如下: 需要注意:这个方法只适用于dedecms V5.5,V5.6,V5.7 dede模板 系统中默认是没有办法调用枚举名(联动菜单名称)的,而只能调用枚举值,为了方便大家在以后制作模板,今天就给大家带来一

织梦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'}
<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)调用实例      

我们来看一下调用的实例代码:
{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函数处理。

这样就可以解决这个调用的问题了。



 

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

很多人在修改织梦会员中心模板的时候 会遇到 明明修改了,为什么还是原来样式?确认文件没有修改错误的情况下,可能是缓存问题,你 只要把 /data/tplcache/ 里面的文件全部删除,重新访问即可。
有时候我们需要实现织梦文章模型多个图片或者多个缩略图,这样的功能我们要怎么操作呢?其实方法还是蛮多的,不需要修改代码的办法就是在内容模型中建立多个字段(缺点就是想多加一个图就要多添加一个字段,而且上传也不方便,还有另外一种方法就是拓展类似
1、打开 /dede/spec_add.php 找到 $arcids = ; 改成 $arcids = array(); 2、打开 /dede/spec_edit.php 找到 $arcids = ; 改成 $arcids = array(); 完成
使用dede软件下载频道通过{dede:field name=softlinks/}调用的链接,当我们打开链接的时候是直接在当前窗口打开,要返回去比较困难,我们要在新窗口打开这个链接该如何操作呢? 我们首先找到 /templets/system/channel_downlinkpage.htm这个文件 ,用编辑器
复制文章时带有版权功能并不复杂,代码如下: script type=text/javascript document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData(text); if (text) { text = text \r\n本篇文章来源于 www. baidu.com 原文链
有时候一篇文档的内容太多,可以对织梦dedecms内容页实现分页功能,但是如果文章内容页pagebreak分页数太多,页面显示很不美观,那么能不能控制Dedecms文章内容分页{dede:pagebreak/}显示页数呢? 下面说一下Dedecms文章内容分页{dede:pagebreak/}显示页数设