1 頁 (共 1 頁)

[問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-10 00:55
GPLynn
相關連結:
[問題]UCP/個人資料/興趣 的欄位

我是看完這篇後試著自己去改看看將該欄位(甚至是自訂欄位)顯示在私人訊息之中。
首先我先試著改下面這個檔
/styles/prosilver/template/ucp_pm_viewmessage.html
發現只需要將

代碼: 選擇全部

<!-- IF AUTHOR_JOINED --><dd><strong>{L_JOINED}:</strong> {AUTHOR_JOINED}</dd><!-- ENDIF -->
去掉,確實可以讓註冊時間不再顯示出來。

於是我在其下方加入

代碼: 選擇全部

		<!-- IF postrow.POSTER_OCCUPATION--><dd><strong>{L_OCCUPATION}:</strong> {AUTHOR__OCCUPATION}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_INTERESTS--><dd><strong>{L_INTERESTS}:</strong> {AUTHOR__INTERESTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_STUDENT_ID--><dd><strong>{L_STUDENT_ID}:</strong> {AUTHOR__STUDENT_ID}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_NAME--><dd><strong>{L_NAME}:</strong> {AUTHOR__NAME}</dd><!-- ENDIF -->
其中STUDEND_ID跟NAME是我自訂的個人欄位。

另外再開啟修改
/includes/ucp/ucp_pm_viewmessage.php
找到

代碼: 選擇全部

		'AUTHOR_FROM'		=> (!empty($user_info['user_from'])) ? $user_info['user_from'] : '',
之後, 加入

代碼: 選擇全部

		'AUTHOR_OCCUPATION'	=> (!empty($user_info['user_occ'])) ? $user_info['user_occ'] : '',
		'AUTHOR_INTERESTS'	=> (!empty($user_info['user_interests'])) ? $user_info['user_interests'] : '',
		'AUTHOR_STUDENT_ID'	=> (!empty($user_info['user_student_id'])) ? $user_info['user_student_id'] : '',
		'AUTHOR_NAME'		=> (!empty($user_info['user_name'])) ? $user_info['user_name'] : '',
這個檔案裡似乎只有一處需要修改的樣子。

做完以上修改並清除快取後,卻沒有如預期般在私人訊息中出現該有欄位顯示。
請問各位前輩我是哪裡做錯了?還是少改什麼檔案呢?

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-10 08:50
心靈捕手
GPLynn 寫:相關連結:
[問題]UCP/個人資料/興趣 的欄位

我是看完這篇後試著自己去改看看將該欄位(甚至是自訂欄位)顯示在私人訊息之中。
首先我先試著改下面這個檔
/styles/prosilver/template/ucp_pm_viewmessage.html
發現只需要將

代碼: 選擇全部

<!-- IF AUTHOR_JOINED --><dd><strong>{L_JOINED}:</strong> {AUTHOR_JOINED}</dd><!-- ENDIF -->
去掉,確實可以讓註冊時間不再顯示出來。

於是我在其下方加入

代碼: 選擇全部

		<!-- IF postrow.POSTER_OCCUPATION--><dd><strong>{L_OCCUPATION}:</strong> {AUTHOR__OCCUPATION}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_INTERESTS--><dd><strong>{L_INTERESTS}:</strong> {AUTHOR__INTERESTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_STUDENT_ID--><dd><strong>{L_STUDENT_ID}:</strong> {AUTHOR__STUDENT_ID}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_NAME--><dd><strong>{L_NAME}:</strong> {AUTHOR__NAME}</dd><!-- ENDIF -->
其中STUDEND_ID跟NAME是我自訂的個人欄位。

另外再開啟修改
/includes/ucp/ucp_pm_viewmessage.php
找到

代碼: 選擇全部

		'AUTHOR_FROM'		=> (!empty($user_info['user_from'])) ? $user_info['user_from'] : '',
之後, 加入

代碼: 選擇全部

		'AUTHOR_OCCUPATION'	=> (!empty($user_info['user_occ'])) ? $user_info['user_occ'] : '',
		'AUTHOR_INTERESTS'	=> (!empty($user_info['user_interests'])) ? $user_info['user_interests'] : '',
		'AUTHOR_STUDENT_ID'	=> (!empty($user_info['user_student_id'])) ? $user_info['user_student_id'] : '',
		'AUTHOR_NAME'		=> (!empty($user_info['user_name'])) ? $user_info['user_name'] : '',
這個檔案裡似乎只有一處需要修改的樣子。

做完以上修改並清除快取後,卻沒有如預期般在私人訊息中出現該有欄位顯示。
請問各位前輩我是哪裡做錯了?還是少改什麼檔案呢?
"興趣", "職業" 的欄位, 本來就在資料表 phpbb_users 中, 抓出來比較沒問題;
而您自己新增的 "姓名", "學號" 的欄位, 可能沒那麼容易, 需要修改其他地方.

建議您:
修改 ucp_pm_viewmessage.html 如下:
找到

代碼: 選擇全部

		<!-- IF postrow.POSTER_OCCUPATION--><dd><strong>{L_OCCUPATION}:</strong> {AUTHOR__OCCUPATION}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_INTERESTS--><dd><strong>{L_INTERESTS}:</strong> {AUTHOR__INTERESTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_STUDENT_ID--><dd><strong>{L_STUDENT_ID}:</strong> {AUTHOR__STUDENT_ID}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_NAME--><dd><strong>{L_NAME}:</strong> {AUTHOR__NAME}</dd><!-- ENDIF -->
取代成

代碼: 選擇全部

		<!-- IF AUTHOR_OCCUPATION --><dd><strong>{L_OCCUPATION}:</strong> {AUTHOR_OCCUPATION}</dd><!-- ENDIF -->
		<!-- IF AUTHOR_INTERESTS --><dd><strong>{L_INTERESTS}:</strong> {AUTHOR_INTERESTS}</dd><!-- ENDIF -->
		<!-- IF AUTHOR_STUDENT_ID --><dd><strong>{L_STUDENT_ID}:</strong> {AUTHOR_STUDENT_ID}</dd><!-- ENDIF -->
		<!-- IF AUTHOR_NAME --><dd><strong>{L_NAME}:</strong> {AUTHOR_NAME}</dd><!-- ENDIF -->
儲存後, 清除論壇快取.

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-10 21:28
GPLynn
心靈捕手 寫:"興趣", "職業" 的欄位, 本來就在資料表 phpbb_users 中, 抓出來比較沒問題;
而您自己新增的 "姓名", "學號" 的欄位, 可能沒那麼容易, 需要修改其他地方.

建議您:
修改 ucp_pm_viewmessage.html 如下:
找到

代碼: 選擇全部

		<!-- IF postrow.POSTER_OCCUPATION--><dd><strong>{L_OCCUPATION}:</strong> {AUTHOR__OCCUPATION}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_INTERESTS--><dd><strong>{L_INTERESTS}:</strong> {AUTHOR__INTERESTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_STUDENT_ID--><dd><strong>{L_STUDENT_ID}:</strong> {AUTHOR__STUDENT_ID}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_NAME--><dd><strong>{L_NAME}:</strong> {AUTHOR__NAME}</dd><!-- ENDIF -->
取代成

代碼: 選擇全部

		<!-- IF AUTHOR_OCCUPATION --><dd><strong>{L_OCCUPATION}:</strong> {AUTHOR_OCCUPATION}</dd><!-- ENDIF -->
		<!-- IF AUTHOR_INTERESTS --><dd><strong>{L_INTERESTS}:</strong> {AUTHOR_INTERESTS}</dd><!-- ENDIF -->
		<!-- IF AUTHOR_STUDENT_ID --><dd><strong>{L_STUDENT_ID}:</strong> {AUTHOR_STUDENT_ID}</dd><!-- ENDIF -->
		<!-- IF AUTHOR_NAME --><dd><strong>{L_NAME}:</strong> {AUTHOR_NAME}</dd><!-- ENDIF -->
儲存後, 清除論壇快取.
謝謝老師,"興趣", "職業" 的欄位的確可以成功顯示了!
而自己新增的 "姓名", "學號" 的欄位也如老師所言,光是這樣子改行不通。
可是我也不曉得該怎麼從另一個資料表把資料叫出來。

"興趣"跟"職業"的欄位是在資料表phpbb_users
"姓名"跟"學號"的欄位則是在資料表phpbb_profile_fields_data

有前輩能給予指教嗎?

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-11 09:38
心靈捕手
GPLynn 寫:謝謝老師,"興趣", "職業" 的欄位的確可以成功顯示了!
而自己新增的 "姓名", "學號" 的欄位也如老師所言,光是這樣子改行不通。
可是我也不曉得該怎麼從另一個資料表把資料叫出來。

"興趣"跟"職業"的欄位是在資料表phpbb_users
"姓名"跟"學號"的欄位則是在資料表phpbb_profile_fields_data

有前輩能給予指教嗎?
不嫌麻煩的話, 可以在 "資料表phpbb_users" 中新增相關欄位,
再去讀取 "資料表phpbb_profile_fields_data" 的資料.

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-11 17:10
GPLynn
心靈捕手 寫:
GPLynn 寫:謝謝老師,"興趣", "職業" 的欄位的確可以成功顯示了!
而自己新增的 "姓名", "學號" 的欄位也如老師所言,光是這樣子改行不通。
可是我也不曉得該怎麼從另一個資料表把資料叫出來。

"興趣"跟"職業"的欄位是在資料表phpbb_users
"姓名"跟"學號"的欄位則是在資料表phpbb_profile_fields_data

有前輩能給予指教嗎?
不嫌麻煩的話, 可以在 "資料表phpbb_users" 中新增相關欄位,
再去讀取 "資料表phpbb_profile_fields_data" 的資料.
具體的做法該怎麼去做呢?

我在
/includes/ucp/ucp_pm_viewmessage.php
最底下的部份有找到一個像是它原始調用phpbb_users這個資料表的語法

代碼: 選擇全部

* Get user information (only for message display)
我猜關鍵的地方可能是在其下方有一段

代碼: 選擇全部

	if (empty($user_row))
	{
		$sql = 'SELECT *
			FROM ' . USERS_TABLE . '
			WHERE user_id = ' . (int) $user_id;
		$result = $db->sql_query($sql);
		$user_row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);
	}
不過我既不是資訊相關科系,之前也沒碰過php這塊領域,目前這個論壇也是我第一次的初體驗,所以不曉得是否如我所想的。

我另外在網路上有找到SQL語法教學
可是不曉得該怎麼應用到php上,兩者有不小的差異在。
依照SQL語法教學,我有試過將

代碼: 選擇全部

FROM ' . USERS_TABLE . '
改成

代碼: 選擇全部

FROM ' . USERS_TABLE . , . PROFILE_FIELDS_DATA_TABLE . '
原本WHERE後應該要指定共同欄位user_id來串接這兩個表格,但是它原本WHERE所承接的

代碼: 選擇全部

user_id = ' . (int) $user_id;
讓我不知如何下手。
結果光只改了FROM就造成讀取私人訊息相關頁面連開都開不了了!Cartesian join?
或許我整個的想法都是錯的也不一定~ :s

如果想入門關於php及SQL語法的話,老師會建議我該如何著手。
不曉得有沒有比較推薦看的書。
我目前不需要會太難的語法或具備自己撰寫程式的能力,只需要能夠小小的修改一下別人現成的外掛以期能更符合自己的需求即可。

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-11 21:13
心靈捕手
GPLynn 寫:
心靈捕手 寫:
GPLynn 寫:謝謝老師,"興趣", "職業" 的欄位的確可以成功顯示了!
而自己新增的 "姓名", "學號" 的欄位也如老師所言,光是這樣子改行不通。
可是我也不曉得該怎麼從另一個資料表把資料叫出來。

"興趣"跟"職業"的欄位是在資料表phpbb_users
"姓名"跟"學號"的欄位則是在資料表phpbb_profile_fields_data

有前輩能給予指教嗎?
不嫌麻煩的話, 可以在 "資料表phpbb_users" 中新增相關欄位,
再去讀取 "資料表phpbb_profile_fields_data" 的資料.
具體的做法該怎麼去做呢?

我在
/includes/ucp/ucp_pm_viewmessage.php
最底下的部份有找到一個像是它原始調用phpbb_users這個資料表的語法

代碼: 選擇全部

* Get user information (only for message display)
我猜關鍵的地方可能是在其下方有一段

代碼: 選擇全部

	if (empty($user_row))
	{
		$sql = 'SELECT *
			FROM ' . USERS_TABLE . '
			WHERE user_id = ' . (int) $user_id;
		$result = $db->sql_query($sql);
		$user_row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);
	}
不過我既不是資訊相關科系,之前也沒碰過php這塊領域,目前這個論壇也是我第一次的初體驗,所以不曉得是否如我所想的。

我另外在網路上有找到SQL語法教學
可是不曉得該怎麼應用到php上,兩者有不小的差異在。
依照SQL語法教學,我有試過將

代碼: 選擇全部

FROM ' . USERS_TABLE . '
改成

代碼: 選擇全部

FROM ' . USERS_TABLE . , . PROFILE_FIELDS_DATA_TABLE . '
原本WHERE後應該要指定共同欄位user_id來串接這兩個表格,但是它原本WHERE所承接的

代碼: 選擇全部

user_id = ' . (int) $user_id;
讓我不知如何下手。
結果光只改了FROM就造成讀取私人訊息相關頁面連開都開不了了!Cartesian join?
或許我整個的想法都是錯的也不一定~ :s

如果想入門關於php及SQL語法的話,老師會建議我該如何著手。
不曉得有沒有比較推薦看的書。
我目前不需要會太難的語法或具備自己撰寫程式的能力,只需要能夠小小的修改一下別人現成的外掛以期能更符合自己的需求即可。
1. 我會抽空試試.
2. 官方 PHP 以及 MySQL 的網站, 都有非常詳細的語法 (功能) 說明, 或者問題與討論, 可供參考.
若要書本, 則請自行到書局, 網站找找, 或者到 "好書推薦" 版面逛逛.

另外, 多安裝一些外掛, 也可以多吸收一些修改語法的經驗.

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-12 00:47
GPLynn
心靈捕手 寫:1. 我會抽空試試.
2. 官方 PHP 以及 MySQL 的網站, 都有非常詳細的語法 (功能) 說明, 或者問題與討論, 可供參考.
若要書本, 則請自行到書局, 網站找找, 或者到 "好書推薦" 版面逛逛.

另外, 多安裝一些外掛, 也可以多吸收一些修改語法的經驗.
那就先謝謝老師了!

另外官方PHP是指http://www.phpbb.com/community/index.php沒錯吧
不曉得哪個主題文章或版面有"非常詳細的語法 (功能) 說明"。
一般的外掛討論串很少有針對裡面修改的語法做解釋,沒有相當功力也看不懂,不適合入門。

"好書推薦"版面我有空會去逛逛的,謝謝老師提點。

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-12 10:13
hentaibbc
關於您說的 Dev 教學
您可以參考以下網址
http://wiki.phpbb.com/

應該會有一些您想了解的內容。

Re: [問題]UCP/個人資料/興趣 的欄位顯示在訊息中

發表於 : 2009-03-12 11:23
心靈捕手
GPLynn 寫:
心靈捕手 寫:1. 我會抽空試試.
2. 官方 PHP 以及 MySQL 的網站, 都有非常詳細的語法 (功能) 說明, 或者問題與討論, 可供參考.
若要書本, 則請自行到書局, 網站找找, 或者到 "好書推薦" 版面逛逛.

另外, 多安裝一些外掛, 也可以多吸收一些修改語法的經驗.
那就先謝謝老師了!

另外官方PHP是指http://www.phpbb.com/community/index.php沒錯吧
不曉得哪個主題文章或版面有"非常詳細的語法 (功能) 說明"。
一般的外掛討論串很少有針對裡面修改的語法做解釋,沒有相當功力也看不懂,不適合入門。

"好書推薦"版面我有空會去逛逛的,謝謝老師提點。
1. 整理一篇教學文章, 請參考看看.
http://phpbb-tw.net/phpbb/viewtopic.php?f=174&t=52121
2. 官方 PHP 是指 http://www.php.net/
官方 MySQL 是指 http://www.mysql.com/