| 123456789101112131415161718192021222324252627282930313233 | 
							- 	function linkage($field, $value) {
 
- 		$setting = string2array($this->fields[$field]['setting']);
 
- 		$datas = getcache($setting['linkageid'],'linkage');
 
- 		$infos = $datas['data'];
 
- 		if($setting['showtype']==1) {
 
- 			$result = $this->_get_parent($value, $setting['linkageid'], $setting['space']);
 
- 		} elseif($setting['showtype']==2) {
 
- 			$result = $value;
 
- 		} else {
 
- 			$result = $infos[$value]['name'];
 
- 		}
 
- 		return $result;
 
- 	}
 
- 	function _get_parent($linkageid, $keyid, $space = '>', $result = array(), $infos = array()) {
 
- 		if($space=='' || !isset($space))$space = '>';
 
- 		if(!$infos) {
 
- 			$datas = getcache($keyid,'linkage');
 
- 			$infos = $datas['data'];
 
- 		}
 
- 		if(array_key_exists($linkageid,$infos)) {
 
- 			$result[]=$infos[$linkageid]['name'];
 
- 			return $this->_get_parent($infos[$linkageid]['parentid'], $keyid, $space, $result, $infos);
 
- 		} else {
 
- 			if(count($result)>0) {
 
- 				krsort($result);
 
- 				$result = implode($space,$result);
 
- 				return $result;
 
- 			}
 
- 			else {
 
- 				return $result;
 
- 			}
 
- 		}			
 
- 	}
 
 
  |