使用织梦程序建站的时候用到dedecms分类信息模型,往往会在首页调用当前文章地区名等等信息,使用dedecms现有的标签是无法实现的。下面给大家分享下实现方法:
第一步:找到includecomm.func.php 文件的 “ //自定义函数接口 ” 上面加入以下代码:
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;
}
第二步:在前台页面调用代码如下:
{dede:arclistsg row=‘10’ typeid=‘18’ titlelen=‘50’ orderby=‘pubdate’ channelid=‘-8’ idlist=‘’}
[[field:infotype function=getinfotype(@me,‘nativeplace’) /]] [field:title/] [[field:dateline function=“mydate(‘m-d’,@me)”/]]
{/dede:arclistsg}
代码解释:
[field:nativeplace /] 这一个就是调用的文档联动菜单的枚举值。附加表存储的也就是联动类别里对应的枚举值的值而已。
function=getinfotype 这个就是我们上面的自定义函数调用!这点是不能变的。
(@me,'nativeplace') 这 里面有两个变量,第一个为@me 它的意思是当前值,固定不变的,说白了就是告诉我们上面那个自定义函数要查询的枚举值的值。第二个,是联动菜单的缓存组 名,一般与前面的那个[field:nativeplace/]中的红色nativeplace 字段名保持一致即可。