Dedecms首页模板中调用联动类别的方法

第一步:channelunit.func.php中添加如下函数//参数说明:第1个参数是从信息表里读取出来的类别ID,第2个参数是联动菜单类别 //这样这个函数就不限于只调用分类信息的信息类别了,还可以用于其它地方…

 

第一步:channelunit.func.php中添加如下函数

//参数说明:第1个参数是从信息表里读取出来的类别ID,第2个参数是联动菜单类别 //这样这个函数就不限于只调用分类信息的信息类别了,还可以用于其它地方

function GetInfoType($tid,$bigt) { global $dsql; $typename = ”; $query = "Select ename From `dede_sys_enum` where evalue=$tid and egroup=’$bigt’"; $dsql->Execute(‘ename’,$query); while($row = $dsql->GetArray(‘ename’)) { $typename .= ($typename==” ? $row['ename'] : ‘,’.$row['ename']); } return $typename; }(V5.3)加到includecommon.func.php文件的//自定义函数接口上面。

第二步:在前台页面

请用{dede:arclist row=14 titlelen=32 noflag=’h’ addfields=’nativeplace’ channelid=’1′}
<li>[[field:nativeplace function=GetInfoType(@me,'nativeplace')/]] <a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}

来调试。

代码解释:
1.addfields=’nativeplace’ channelid=’1′这个是调用的附加表字段;
①. 为什么要调用附加表字段?
因为联动菜单的值就是存到附加表里面的,你仔细想想你有没有自己加过自定义联动菜单字段!
②. channelid参数是什么意思?
告诉解析函数你的附加表在哪个表!这里告诉的是附加表的ID,那么内容模型里面的ID对应的附加表你相信程序会自动帮你找到的。
2.[field:nativeplace /] 这一个就是调用的文档联动菜单的枚举值。附加表存储的也就是联动类别里对应的枚举值的值而已。
3. function=GetInfoType 这个就是我们上面的自定义函数调用!这点是不能变的。
4.(@me,’nativeplace’) 这里面有两个变量,第一个为@me 它的意思是当前值,固定不变的,说白了就是告诉我们上面那个自定义函数要查询的枚举值的值。第二个,是联动菜单的缓存组名,一般与前面的那个 [field:nativeplace/]中的红色nativeplace 字段名保持一致即可。

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

相关文档推荐

理解织梦模板引擎有什么意义?一方面可以更好地自定义标签。更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步。理解织梦会使我们写php代码时更顺手,同时能学习一些php代码的组织方式。 这似乎不是那么简单,如果你只想学习自定义标签,可以看
先来看看下面这个标签 {dede:field.tong_gg php=yes} if(@me==||empty(@me)) @me=p无/p; {/dede:field.tong_gg} 注释:@me:就是当前字段的值,你可以在if中给其赋值,然后判断结束后它的值就变成你赋的值,打印出来 下面来说说具体的方法: 方法一: 用个if
正则匹配出所有的arclist标签并构造SQL 取出数据并替换field为相应字段的数据 为field标签添加一个function属性 ?php require_once (dirname( __FILE__ ). /../include/common.inc.php ); //1.读入模板文件 $str = file_get_contents ( test.html ); //2.使
今天用DEDECMS帮客户做一个网站时,需要同时限制标题字数又要去掉html属性,这个时候就需要同时用到DEDECMS程序自带的2个函数了:html2text 和 cn_substr 。
为了实现某些功能或者效果,有时我们需要在模板里进行PHP编程,但是又不想改文件免得以后升级麻烦。因此最好的办法是修改模板了。下面就教大家怎样在模板里使用PHP语句了。
实例需求某网站上需要在首页进行视频展示,后台可以选择上传到土豆、优酷等站外视频,也可以自己手动上传视频到自己 的网站上。(假定)由于自己上传的视频与站外视频不能共用视频播放的解码器,