在織夢CMS v5.7 中打開官方默認模板article_artcile.htm,我們可以提取調用文章所屬會員信息標簽的代碼
{dede:memberinfos}
會員頭像:<a href=”[field:spaceurl /]“ class=”userface”><img src=”[field:face/]“ width=”52″ height=”52″ /></a>
會員用戶名:<a href=’[field:spaceurl /]‘ class=”username”>[field:uname/]</a>
會員詳細資料:<a href=”[field:spaceurl /]“ class=”useract-vi”>查看詳細資料</a>
給他留言:<a href=”[field:spaceurl /]&action=guestbook” class=”useract-pm”>發送留言</a>
加為好友:<a href=”[field:spaceurl /]&action=newfriend” class=”useract-af”>加為好友</a>
用戶等級:[field:rankname /]
注冊時間:[field:jointime function="MyDate('Y-m-d H:m',@me)"/]
最后登錄:[field:logintime function="MyDate('Y-m-d H:m',@me)"/]
{/dede:memberinfos}
|
用戶信息(memberinfos) 用戶信息標簽的適用范圍是全局使用,之所以把它歸檔到內容頁來講,是因為這個標簽在內容頁的使用更加普遍。 該標簽是屬于有底層模板的調用標簽,它有且只有一個參數 mid = '1' 指定要獲取的用戶ID 如果在文檔閱讀頁,該參數為空的話,那么就默認指定該文檔的發布者會員ID,通常用來調用“發布者資料”類似功能。其完整代碼為:
{dede:memberinfos} 昵稱:[field:uname/] {/dede:memberinfos}
|
底層模板的取值范圍是:dede_member所有字段及spacename(空間名稱)、sign(用戶簽名)
5.1版本:
1.在內容頁加 如下代碼:
本文作者:{dede:memberinfo /}
2.然后找到include/inc_archives_view.php 把原來的添加如下的代碼
5.3版本:
1.在內容頁加 如下代碼:
本文作者:{dede:memberinfo /}
2.然后找到include/arc.archives.class.php 把原來的添加如下的代碼
//----------------------
//獲得本文的投稿作者信息
//----------------------
function GetMemberInfo()
{
if(!isset($this->MemberInfos['ID'])){
if($this->Fields['memberID']==0) return '';
else{
$this->MemberInfos = $this->dsql->GetOne("Select ID,userid,uname,spacename,spaceimage From dede_member where ID='{$this->Fields['memberID']}' ");
}
}
if(!isset($this->MemberInfos['ID'])) return "";
else{
$minfo = "<a href='/member/index.php?uid=".$this->MemberInfos['userid']."&action=memberinfo'>";
$minfo .= $this->MemberInfos['uname']."</font></a>\r\n";
$minfo .= "<a href='/member/index.php?uid=".$this->MemberInfos['userid']."&action=feedback'>留言</a>\r\n";
$minfo .= "空間:<a href='/member/index.php?uid=".$this->MemberInfos['userid']."'>";
$minfo .= $this->MemberInfos['spacename']."</a>\r\n";
return $minfo;
}
}
---------------------------
|
DEDECMS列表頁/內容頁調用當前文檔作者的會員頭像的方法
一、實現方法
1)內容頁
首先,我們知道,在內容頁調用當前文檔作者的ID代碼為{dede:field.mid/},但這個標簽只能調用出作者的mid編碼。要想調用具體的文檔ID,就必須對會員表(dede_member)來進行檢索,檢索的SQL語句為:
折疊SQL 代碼復制內容到剪貼板
select * from dede_member where mid = 會員MID編號
剛才呢,我們已經將mid使用{dede:field.mid/}標簽調用出來了,現在我們要做的就是賦值進去查詢即可。故,完整代碼為:
{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 = '游客發表';
}
{/dede:field.mid}
|
2)列表頁
和1)中分析的原理是完全一樣的,只是在這里由于在列表頁,需要賦值的不是{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 = '游客發表';
}
[/field.mid]
|
二、分析及解釋
1)本文上述代碼的特點有:
對文檔作者進行了判斷,如果是游客投稿,則不進行查詢而直接輸出“游客發表”,當前,這里您也可以直接置空;
對會員頭像做了簡單的判斷,如果會員沒有上傳頭像(即頭像為空)時,則輸出“/member/templets/images/dfboy.png”路徑的默認圖片;
2)其它說明及輔助:
本實例還有繼續優化的可能性(比如會員頭像為空時,判斷會員的性別,對不同的姓別分別輸出不同的默認頭像);