slipper 寫:再請教CRLin大大一下:
在Block Control Panel的個人資訊區塊裡
可以自行增加
如:
會員名稱
等級
等級圖示
發表文章數....嗎???
可以教我一下如何增加呢??
試好久一直試不出來
謝謝~~~
因為這是竹貓的風格討論, 不是模組探討. 發表模組研究, 不吻合也不恰當.
請至
http://web.dhjh.tcc.edu.tw/~gzqbyr/phpB ... ?p=584#584 發表, 謝謝!!
本篇是 CRLin 針對 Block Control Panel 模組於此發表的最後一篇. (本文花了將近 3 hr 又 30 min 才完成)
以下說明增加 會員名稱, 等級圖示 的作法.(使用 EditPlus 開啟及編輯檔案是最佳的 PHP 程式編輯軟體之一)
會員名稱 可於 bpanel_header.tpl 找到 L_LOGIN_LOGOUT
於 page_header.php 找到以下三行
'L_LOGIN_LOGOUT' => $l_login_logout,
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
$l_login_logout = $lang['Login'];
因此 會員名稱 就是 $userdata['username']
打開 blockpanel\block\system_user.php
尋找\r
代碼: 選擇全部
$bcp_content = "<div align="center"><br />" . $avatar_bcp_img ."<br><br>";
之後加入
代碼: 選擇全部
$bcp_content .= '歡迎 ' . $userdata['username'] . '<br>';
等級圖示及發表文章數的處理
方法一.( 難!)
瀏覽文章時網址列是 viewtopic.php, 因此開啟 viewtopic.php, 找到可能使用的 3 個 tpl 檔 viewtopic_body.tpl, viewtopic_poll_result.tpl 及 viewtopic_poll_ballot.tpl. 當然是觀察 viewtopic_body.tpl 檔
因此開啟 viewtopic_body.tpl
等級的英文是 RANK, 而圖示 IMAGE
找到 postrow.POSTER_RANK 及 postrow.RANK_IMAGE
於 viewtopic.php
找到\r
'POSTER_RANK' => $poster_rank,
而與 $poster_rank 有關的程式碼蠻冗長.
方法二. ( 難!)
檢視 會員 的個人資料時網址列是 profile.php?mode=viewprofile&u=2
開啟 profile.php
發現程式碼\r
if ( $mode == 'viewprofile' )
{
include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx);
exit;
}
再開啟 includes/usercp_viewprofile.php 及 subSilver/profile_view_body.tpl
看了 usercp_viewprofile.php 的程式碼後, 頭皮發麻! 如果您想繼續研究, usercp_viewprofile.php 比 viewtopic.php 更適合.
程式碼須自己改寫, 才可適用.
以下是 CRLin 修改過的程式, 仍然使用 blockpanel\block\system_user.php
於\r
$bcp_content .= '歡迎 ' . $userdata['username'] . '<br>';
之後加入\r
代碼: 選擇全部
$profiledata1 = get_userdata($userdata['user_id']);
$sql = "SELECT *
FROM " . RANKS_TABLE . "
ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain ranks information', '', __LINE__, __FILE__, $sql);
}
$ranksrow1 = array();
while ( $row = $db->sql_fetchrow($result) )
{
$ranksrow1[] = $row;
}
$db->sql_freeresult($result);
$poster_rank1 = '';
$rank_image1 = '';
if ( $profiledata1['user_rank'] )
{
for($i = 0; $i < count($ranksrow1); $i++)
{
if ( $profiledata1['user_rank'] == $ranksrow1[$i]['rank_id'] && $ranksrow1[$i]['rank_special'] )
{
$poster_rank1 = $ranksrow1[$i]['rank_title'];
$rank_image1 = ( $ranksrow1[$i]['rank_image'] ) ? '<img src="' . $ranksrow1[$i]['rank_image'] . '" alt="' . $poster_rank1 . '" title="' . $poster_rank1 . '" border="0" /><br />' : '';
}
}
}
else
{
for($i = 0; $i < count($ranksrow1); $i++)\r
{
if ( $profiledata1['user_posts'] >= $ranksrow1[$i]['rank_min'] && !$ranksrow1[$i]['rank_special'] )
{
$poster_rank1 = $ranksrow1[$i]['rank_title'];
$rank_image1 = ( $ranksrow1[$i]['rank_image'] ) ? '<img src="' . $ranksrow1[$i]['rank_image'] . '" alt="' . $poster_rank1 . '" title="' . $poster_rank1 . '" border="0" /><br />' : '';
}
}
}
$bcp_content .= $poster_rank1 . '<br>' . $rank_image1 . '<br>';
$bcp_content .= $lang['Total_posts'] . ': ' . $profiledata1['user_posts'] . '<br>';
if (function_exists('get_html_translation_table'))
{
$u_search_author1 = urlencode(strtr($profiledata1['username'], array_flip(get_html_translation_table(HTML_ENTITIES))));
}
else
{
$u_search_author1 = urlencode(str_replace(array('&', '', '"', '<', '>'), array('&', "'", '"', '<', '>'), $profiledata1['username']));
}
$tmp = append_sid("search.$phpEx?search_author=" . $u_search_author1);
$bcp_content .= '<a href=' . $tmp . ' class="genmed">'.sprintf($lang['Search_user_posts'], $profiledata1['username']) . '</a><br>';
存檔