這個教學主要是, 如何將自訂個人資料欄位顯示在私訊;
以新增 "姓名" 以及 "學號" 為例.
至於, 新增自訂個人資料欄位 ("姓名" 以及 "學號") 的方法, 請參考這裡.
新增 phpbb_users 欄位:
SQL:
代碼: 選擇全部
ALTER TABLE phpbb_users ADD user_real_name VARCHAR(255) UNSIGNED DEFAULT '' NOT NULL;
ALTER TABLE phpbb_users ADD user_learn_number VARCHAR(255) UNSIGNED DEFAULT '' NOT NULL;
新增欄位類型的 "型態", 請參考資料表 phpbb_profile_fields 而做調整.
若是新增自訂個人資料欄位類型為 "下拉選單", 則較複雜, 得另案處理.
修改 *.php
開啟
includes/ucp/ucp_pm_viewmessage.php
找到
代碼: 選擇全部
$template->assign_vars(array(
代碼: 選擇全部
// + 讀取自訂個人資料欄位資料
$sql = "SELECT *
FROM " . PROFILE_FIELDS_DATA_TABLE . "";
if( !($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, '無法讀取自訂個人資料欄位資料', "", __LINE__, __FILE__, $sql);
}
// - 讀取自訂個人資料欄位資料
// + 更新會員資料表新增欄位資料
while ($row = $db->sql_fetchrow($result))
{
$sql = " UPDATE " . USERS_TABLE . " SET user_real_name = '" . $row['pf_real_name'] . "', user_learn_number = '" . $row['pf_learn_number'] . "' WHERE user_id = " . $row['user_id'] . "";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, '無法更新會員資料表新增欄位資料', "", __LINE__, __FILE__, $sql);
}
}
// - 更新會員資料表新增欄位資料
代碼: 選擇全部
'AUTHOR_FROM' => (!empty($user_info['user_from'])) ? $user_info['user_from'] : '',
代碼: 選擇全部
'AUTHOR_REAL_NAME' => (!empty($user_info['user_real_name'])) ? $user_info['user_real_name'] : '',
'AUTHOR_LEARN_NUMBER' => (!empty($user_info['user_learn_number'])) ? $user_info['user_learn_number'] : '',
prosilver 風格
開啟
styles/prosilver/template/ucp_pm_viewmessage.html
找到
代碼: 選擇全部
<!-- IF AUTHOR_FROM --><dd><strong>{L_LOCATION}:</strong> {AUTHOR_FROM}</dd><!-- ENDIF -->
代碼: 選擇全部
<!-- IF AUTHOR_REAL_NAME --><dd><strong>{L_REAL2_NAME}:</strong> {AUTHOR_REAL_NAME}</dd><!-- ENDIF -->
<!-- IF AUTHOR_LEARN_NUMBER --><dd><strong>{L_LEARN_NUMBER}:</strong> {AUTHOR_LEARN_NUMBER}</dd><!-- ENDIF -->
subsilver2 風格
不必修改.
後記:
其實, 不一定要如此大費周章!
閱讀私訊時, 若需要檢視寄件人的 (詳細) 個人資料, 則只要點選其中的連結即可.
prosilver 風格: 點選 "會員名稱"
subsilver2 風格: 點選 "會員名稱" 或 "個人資料"