我们在使用dedecms时候,需要拓展函数,那么这个函数需要写在哪个文件中呢?一般来说,需要写在:include/extend.func.php中,当然也可以写在其他公共文件中方便调用,以下是几个自定义函数示例:
//通过会员ID调用会员uname名称的函数
function GetMemberName($str){
global $dsql;
$row = $dsql->GetOne("SELECT uname FROM `dede_member` WHERE mid = '$str' ");
return $row[uname];
}
前台模板调用[field:mid function="GetMemberName(@me)"/]
//通过栏目ID号获取栏目保存目录
function GetTypeUrl($tid)
{
global $dsql;
global $cfg_cmspath;
$query ="select typedir from `dede_arctype` where id=$tid";
if($row=$dsql->getone($query))
{
$temp=str_replace("{cmspath}",$cfg_cmspath,$row['typedir']).'/';
}
return $temp;
}
//通过文档ID获取文档静态url地址
if(!function_exists('GetArcUrl'))
{
function GetArcUrl($id)
{
global $dsql;
$arcRow = $dsql->GetOne("SELECT * FROM dede_archives WHERE `id` = '{$id}'");
$typeRow = $dsql->GetOne("SELECT * FROM dede_arctype WHERE `id` = '{$arcRow['typeid']}'");
$arcurl = GetFileUrl($id,$arcRow['typeid'],$arcRow['senddate'],$arcRow['title'],$arcRow['ismake'], $arcRow['arcrank'],$typeRow['namerule'],$typeRow['typedir'] ,$arcRow['money'],$arcRow['filename'],$typeRow['moresite'],$typeRow['siteurl'], $typeRow['sitepath']); return $arcurl;
}
}