phpcms联动菜单调用

自建了模型,调用了一个联动菜单,存入数据库的都是联动菜单的id,后台显示的时候想改为中文

需要用到一个函数 get_linkage

函数具体文件位置:\phpcms\libs\functions\global.func.php     1147行

image.png

代码如下:

/**
 * 通过id获取显示联动菜单
 * @param  $linkageid 联动菜单ID
 * @param  $keyid 菜单keyid
 * @param  $space 菜单间隔符
 * @param  $tyoe 1 返回间隔符链接,完整路径名称 3 返回完整路径数组,2返回当前联动菜单名称,4 直接返回ID
 * @param  $result 递归使用字段1
 * @param  $infos 递归使用字段2
 */
function get_linkage($linkageid, $keyid, $space = '>', $type = 1, $result = array(), $infos = array()) {
	if($space=='' || !isset($space))$space = '>';
	if(!$infos) {
		$datas = getcache($keyid,'linkage');
		$infos = $datas['data'];
	}
	if($type == 1 || $type == 3 || $type == 4) {
		if(array_key_exists($linkageid,$infos)) {
			$result[]= ($type == 1) ? $infos[$linkageid]['name'] : (($type == 4) ? $linkageid :$infos[$linkageid]);
			return get_linkage($infos[$linkageid]['parentid'], $keyid, $space, $type, $result, $infos);
		} else {
			if(count($result)>0) {
				krsort($result);
				if($type == 1 || $type == 4) $result = implode($space,$result);
				return $result;
			} else {
				return $result;
			}
		}
	} else {
		return $infos[$linkageid]['name'];
	}
}


模版输出字段的时候,给字段加上函数

例如

<td align='center' >< ?php echo $r['zhiwu'];?></td>

为输出 职务编号

转换后为:

<td align='center' ><?php echo get_linkage($r['zhiwu'], 3379, ' - ', 0);?></td>

这样就输出为职务名称了


效果图:

image.png

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Zblog

Copyright www.lanxiangchuan.com . 欢迎来做客 ~

鄂公网安备 42068302000128号