一、實(shí)現(xiàn)方法
1)內(nèi)容頁(yè)
首先,我們知道,在內(nèi)容頁(yè)調(diào)用當(dāng)前文檔作者的ID代碼為{dede:field.mid/},但這個(gè)標(biāo)簽只能調(diào)用出作者的mid編碼。要想調(diào)用具體的文檔ID,就必須對(duì)會(huì)員表(dede_member)來(lái)進(jìn)行檢索,檢索的SQL語(yǔ)句為:
-
select * from dede_member where mid = 會(huì)員MID編號(hào)
剛才呢,我們已經(jīng)將mid使用{dede:field.mid/}標(biāo)簽調(diào)用出來(lái)了,現(xiàn)在我們要做的就是賦值進(jìn)去查詢即可。故,完整代碼為:
-
{dede:field.mid runphp='yes'}
-
$id = @me;
-
if($id <> 0){
-
$sql = "select * from dede_member where mid = $id";
-
$query = mysql_query($sql);
-
$row = mysql_fetch_array($query);
-
if($row['face'] == ''){
-
@me = '作者頭像:<img src="/member/templets/images/dfboy.png" />';
-
}
-
else{
-
$face = $row['face'];
-
@me = '作者頭像:<img src="'.$face.'" />';
-
}
-
}
-
else{
-
@me = '游客發(fā)表';
-
}
-
{/dede:field.mid}
2)列表頁(yè)
和1)中分析的原理是完全一樣的,只是在這里由于在列表頁(yè),需要賦值的不是{dede:field.mid/},而是[field:mid/]。故完整代碼為:
-
[field:mid runphp='yes']
-
$id = @me;
-
if($id <> 0){
-
$sql = "select * from dede_member where mid = $id";
-
$query = mysql_query($sql);
-
$row = mysql_fetch_array($query);
-
if($row['face'] == ''){
-
@me = '作者頭像:<img src="/member/templets/images/dfboy.png" />';
-
}
-
else{
-
$face = $row['face'];
-
@me = '作者頭像:<img src="'.$face.'" />';
-
}
-
}
-
else{
-
@me = '游客發(fā)表';
-
}
-
[/field.mid]
二、分析及解釋
1)本文上述代碼的特點(diǎn)有:
對(duì)文檔作者進(jìn)行了判斷,如果是游客投稿,則不進(jìn)行查詢而直接輸出“游客發(fā)表”,當(dāng)前,這里您也可以直接置空;
對(duì)會(huì)員頭像做了簡(jiǎn)單的判斷,如果會(huì)員沒(méi)有上傳頭像(即頭像為空)時(shí),則輸出“/member/templets/images/dfboy.png”路徑的默認(rèn)圖片;
2)其它說(shuō)明及輔助:
本實(shí)例還有繼續(xù)優(yōu)化的可能性(比如會(huì)員頭像為空時(shí),判斷會(huì)員的性別,對(duì)不同的姓別分別輸出不同的默認(rèn)頭像);