將自訂個人資料欄位顯示在私訊的方法

與 phpBB 3.0.x 相關主題。

版主: 版主管理群

回覆文章
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

將自訂個人資料欄位顯示在私訊的方法

文章 心靈捕手 »

前言:

這個教學主要是, 如何將自訂個人資料欄位顯示在私訊;
以新增 "姓名" 以及 "學號" 為例.
至於, 新增自訂個人資料欄位 ("姓名" 以及 "學號") 的方法, 請參考這裡.


新增 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;
P.S.
新增欄位類型的 "型態", 請參考資料表 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 風格: 點選 "會員名稱" 或 "個人資料"
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
回覆文章

回到「3.0」