我用的标签代码是:{dede:arclistsg channelid='-8'}[field:nativeplace/]{/dede:arclistsg}
实现方法:
第一步:将你主题中的如下自定义函数代码
- //参数说明:第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;
- }
- //------------------ Add By CxChina.Com ----- End -------------------------
加到\include\comm.func.php 文件的
//自定义函数接口
上面。
第二步:在前台页面请用
<ul>{dede:arclistsg row='10' typeid='18' titlelen='50' orderby='pubdate' channelid='-8' idlist=''}
<li><a href="[field:arcurl/]" title="[field:title/]">[[field:infotype function=GetInfoType(@me,'nativeplace') /]] [field:title/]</a> <span>[[field:dateline function="MyDate('m-d',@me)"/]]</span></li> {/dede:arclistsg}
来调试。
代码解释:
[field:nativeplace /] 这一个就是调用的文档联动菜单的枚举值。附加表存储的也就是联动类别里对应的枚举值的值而已。
function=GetInfoType 这个就是我们上面的自定义函数调用!这点是不能变的。
(@me,'nativeplace') 这里面有两个变量,第一个为@me 它的意思是当前值,固定不变的,说白了就是告诉我们上面那个自定义函数要查询的枚举值的值。第二个,是联动菜单的缓存组名,一般与前面的那个[field:nativeplace/]中的红色nativeplace 字段名保持一致即可。
效果预览: