1 頁 (共 1 頁)

[問題]如何將推薦總數整合至VIEWTOPIC??(已解決)

發表於 : 2005-12-17 11:38
Arisa520
問題外掛:推薦外掛-延伸功能\r
參考連結: http://phpbb-tw.net/phpbb/viewtopic.php?t=38434
使用版本:2.0.18
網站位置: http://d-s.idv.tw/
狀況描述:

已經成功的安裝完畢!
推薦總數也成功的顯示在個人資料當中~

但是希望將推薦總數也呈現在viewtopic當中 卻不知道該如何整合@@""

我將$user_gp = $profiledata['user_gp']; 放在viewtopic中\r
並將{postrow.USER_GP}放在viewtopic_body.tpl中\r
但結論當然是失敗!!
希望請益各位大大了! ;-)

附上修改程序 因為原始連結下載點已經消失!

代碼: 選擇全部

############################################################## 
## 外掛名稱: 推薦外掛-延伸功能 
## 外掛作者: 小利 < w2812451@bnb.twbbs.or > http://bnb.twbbs.org/ 
## 外掛簡介:    此延伸功能為動機不明大大的�[強版,可在個人 
##      資料及viewforum看到被推薦的次數!就如同巴哈 
##      姆特的GP,功能是差不多的! 
## 
## 外掛版本: 1.0.0 
## 
## 安裝難度: 初手 
## 安裝時間: 5~10 分鐘 
## 修改檔案: 6 
##      viewforum.php 
##      viewtopic.php 
##      includes/usercp_viewprofile.php 
##      templates/subSilver/viewforum_body.tpl 
##      templates/subSilver/profile_view_body.tpl 
##      language/lang_chinese_traditional_taiwan/lang_main.php 
## 
## �[入檔案: 無 
############################################################## 
## 作者之言: 
##   - 哀~第一次做的外掛~應該不算外掛~ 
##   - 反正下次會做出完整版~所以酷喔~ 
############################################################## 
## v1.0.0 
##   - 最爛的版本釋出 
############################################################## 
## 安裝此外掛之前請先備份好你的論壇。 
############################################################## 
# 
#-----[ SQL ]-------------------------------------------- 
# 
ALTER TABLE phpbb_topics 
ADD topic_goods MEDIUMINT(8) UNSIGNED DEFAULT '0' NOT NULL; 

# 
#-----[ SQL ]-------------------------------------------- 
# 
ALTER TABLE phpbb_users 
ADD user_gp MEDIUMINT(8) UNSIGNED DEFAULT '0' NOT NULL; 

# 
#-----[ OPEN ]--------------------------------- 
# 
language/lang_chinese_traditional_taiwan/lang_main.php 

# 
#-----[ FIND ]--------------------------------- 
# 
?> 

# 
#-----[ BEFORE, ADD ]--------------------------------- 
# 
// Goodpost_MOD 
$lang['Goods'] = "推薦"; 
$lang['user_gp'] = "推薦"; 

# 
#-----[ OPEN ]--------------------------------- 
# 
viewforum.php 

# 
#-----[ FIND ]--------------------------------- 
# 
      $views = $topic_rowset[$i]['topic_views']; 

# 
#-----[ AFTER, ADD ]--------------------------------- 
# 
      $goods = $topic_rowset[$i]['topic_goods']; 

# 
#-----[ FIND ]--------------------------------- 
# 
   'L_TOPICS' => $lang['Topics'], 

# 
#-----[ AFTER, ADD ]--------------------------------- 
# 
   'L_GOODS' => $lang['Goods'], 

# 
#-----[ FIND ]--------------------------------- 
# 
         'TOPIC_TYPE' => $topic_type, 

# 
#-----[ AFTER, ADD ]--------------------------------- 
# 
         'GOODS' => $goods, 

# 
#-----[ OPEN ]--------------------------------- 
# 
includes/usercp_viewprofile.php 

# 
#-----[ FIND ]--------------------------------- 
# 
// 
// Generate page 
// 

# 
#-----[ BEFORE, ADD ]--------------------------------- 
# 
$user_gp = $profiledata['user_gp']; 

# 
#-----[ FIND ]--------------------------------- 
# 
   'YIM' => $yim, 

# 
#-----[ AFTER, ADD ]--------------------------------- 
# 
   'GP' => $user_gp, 

# 
#-----[ FIND ]--------------------------------- 
# 
   'L_YAHOO' => $lang['YIM'], 

# 
#-----[ AFTER, ADD ]--------------------------------- 
# 
   'L_GP' => $lang['user_gp'], 

# 
#-----[ OPEN ]--------------------------------- 
# 
viewtopic.php 

# 
#-----[ FIND ]--------------------------------- 
# 
            $message = $lang['Goodpost_OK'] . $return_url; 
            message_die(GENERAL_MESSAGE, $message); 

# 
#-----[ BEFORE, ADD ]--------------------------------- 
# 
         $sql = "UPDATE " . TOPICS_TABLE . " SET topic_goods = topic_goods + 1 
         WHERE topic_id = $topic_id"; 
         if ( !$db->sql_query($sql) ) 
         { 
         message_die(GENERAL_ERROR, "Could not update topic goods.", '', __LINE__, __FILE__, $sql); 
         } 
         $sql = "UPDATE " . USERS_TABLE . " SET user_gp = user_gp + 1 
         WHERE user_id = $poster_id"; 
         if ( !$db->sql_query($sql) ) 
         { 
         message_die(GENERAL_ERROR, "Could not update usergp.", '', __LINE__, __FILE__, $sql); 
         } 

# 
#-----[ OPEN ]--------------------------------- 
# 
templates/subSilver/viewforum_body.tpl 

# 
#-----[ FIND ]--------------------------------- 
# 
{L_REPLIES} 

# 
#-----[ AFTER, ADD ]--------------------------------- 
#   是{L_REPLIES}的下一排!而不是{L_REPLIES}的後面 
     <th align="center" nowrap="nowrap"> {L_GOODS} </th> 

# 
#-----[ FIND ]--------------------------------- 
# 
{topicrow.REPLIES} 

# 
#-----[ AFTER, ADD ]--------------------------------- 
#   是{topicrow.REPLIES}的下一排!而不是{topicrow.REPLIES}的後面 
     <td class="row1" align="center" valign="middle"><span class="postdetails">{topicrow.GOODS}</span></td> 

# 
#-----[ FIND ]--------------------------------- 
# 
colspan="6" 

# 
#-----[ REPLACE WITH ]--------------------------------- 
# 
colspan="7" 

# 
#-----[ FIND ]--------------------------------- 
# 
colspan="6" 

# 
#-----[ REPLACE WITH ]--------------------------------- 
# 
colspan="7" 

# 
#-----[ OPEN ]--------------------------------- 
# 
templates/subSilver/profile_view_body.tpl 

# 
#-----[ FIND ]--------------------------------- 
# 
      <tr> 
        <td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_WEBSITE}: </span></td> 
        <td><span class="gen"><b>{WWW}</b></span></td> 
      </tr> 

# 
#-----[ AFTER, ADD ]--------------------------------- 
# 
      <tr> 
        <td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_GP}: </span></td> 
        <td> <b><span class="gen">{GP}</span></b>  
        </td> 
      </tr> 

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM 

發表於 : 2005-12-17 13:05
動機不明
我最近也打算增加這個外掛...
等我研究好大家再一起來討論 :oops:

發表於 : 2005-12-17 14:13
心靈捕手
To Arisa520:

建議您:
1. 貼出原始推薦外掛( 非加強版) 的參考連結, 方便網友測試.
2. 您在變數後面的字串, 必須要變更.
您將 $profiledata 使用在 viewtopic.php 裡頭是無效的.
可以試試以下的語法:

代碼: 選擇全部

$user_gp = $postrow[$i]['user_gp'];

發表於 : 2005-12-17 16:04
w2812451
如果能找到之前修改的檔案,我可以幫你直接修改~可惜......壞掉就是壞掉~
0.0在重新看看..

發表於 : 2005-12-17 16:40
Arisa520
個人是利用推薦外掛要付費版修改而成!

請依照: http://phpbb-tw.net/phpbb/viewtopic.php?t=10117

修改完成後
再依照下面修改\r
===========================
謝謝w2812451大大幫忙除錯\r
已修改錯誤!
===========================


#
#-----[ OPEN 打開 ]------------------------------------------------
#

代碼: 選擇全部

viewtopic.php
#
#-----[ FIND 尋找 ]------------------------------------------------
#

代碼: 選擇全部

$sql = "SELECT u.username, u.user_id, u.user_posts
#
#-----[ IN LINE AFTER, ADD 在指定之後, 加上 ]----------------------
#

代碼: 選擇全部

, u.user_gp
#
#-----[ FIND 尋找 ]------------------------------------------------
#

代碼: 選擇全部

$goodpost_money = 20; // 每次推薦文章贈與金額 
#
#-----[ BEFORE ADD 之前, 加上 ]------------------------------------
#

代碼: 選擇全部

$user_gp = $postrow[$i]['user_gp'];
#
#-----[ FIND 尋找 ]------------------------------------------------
#

代碼: 選擇全部

'GOODPOST' => $say_goodpost,
#
#-----[ AFTER, ADD 之後, 加上 ]------------------------------------
#

代碼: 選擇全部

'USER_GP' => $user_gp,
#
#-----[ OPEN 打開 ]------------------------------------------------
#

代碼: 選擇全部

templates\subSilver\viewtopic_body.tpl
#
#-----[ FIND 尋找 ]------------------------------------------------
#

代碼: 選擇全部

{postrow.POSTER_POSTS}<br /> 
#
#-----[ AFTER, ADD 之後, 加上 ]------------------------------------
#

代碼: 選擇全部

推薦: {postrow.USER_GP}
#
#-----[ SAVE/CLOSE ALL FILES 儲存/關閉所有檔案 ]-------------------
#
# EoM 外掛修正結束

發表於 : 2005-12-17 16:58
w2812451
不是付費版的請
#
#-----[ FIND 尋找 ]------------------------------------------------
#

代碼: 選擇全部

$goodpost_money = 20; // 每次推薦文章贈與金額  
改成
#
#-----[ FIND 尋找 ]------------------------------------------------
#

代碼: 選擇全部

$goodpost = $postrow[$i]['goodpost']; 
然後這位大大缺了一個步驟!
開啟 viewtopic.php
搜尋

代碼: 選擇全部

$sql = "SELECT u.username, u.user_id, u.user_posts
之後加入\r

代碼: 選擇全部

, u.user_gp
應該就可以了
因為如果只有
$user_gp = $postrow[$i]['user_gp'];
上面沒東西給你對應

發表於 : 2005-12-17 17:02
Arisa520
呵呵~~^^"
少了步驟...
不過我竟然可以用...
真是給他看到鬼....:-o
等下馬上加上.... :oops:
謝謝w2812451大大的補充!

發表於 : 2005-12-17 17:04
w2812451
阿對了~! 如果想要天霜大大功能的版本(感謝文章)

只差兩項功能就到達了~
1.點推薦的時候,會問你是否真的要推薦(只要用javascript做就可以了)
2.可以告訴你有哪些人推薦此篇文章
(這功能比較麻煩,有安裝付費文章的都應該知道,會告訴你哪些人付過費,把這個功能放過去就可以了!)

發表於 : 2005-12-17 17:05
w2812451
Arisa520 寫:呵呵~~^^"
少了步驟...
不過我竟然可以用...
真是給他看到鬼....:-o
等下馬上加上.... :oops:
謝謝w2812451大大的補充!
可是我剛剛照著你的步驟沒作用......
可能你之前就有安裝過類似的外掛,或是自己有加到吧~

發表於 : 2005-12-17 17:20
動機不明
w2812451 寫:阿對了~! 如果想要天霜大大功能的版本(感謝文章)

只差兩項功能就到達了~
1.點推薦的時候,會問你是否真的要推薦(只要用javascript做就可以了)
2.可以告訴你有哪些人推薦此篇文章
(這功能比較麻煩,有安裝付費文章的都應該知道,會告訴你哪些人付過費,把這個功能放過去就可以了!)
可以請教一下第二項功能該如何做到嗎? :oops: (我以前試過,可是失敗了...)

發表於 : 2005-12-17 17:56
w2812451
很簡單~當你推薦一篇文章後,到後台去\r
在phpbb_posts_text
的goodpost_user
上會顯示id* (*是數字 如 id3,id5,id99 就代表id3 id5 和id99這三個使用者有推薦此文章)

你只要用輪迴的方式讓id3 id5 id99轉成 使用者的ID就可以了
-----------------------------------------------------------------------
至於怎麼用輪迴轉成使用者的ID

當我們在安裝付費瀏覽的時候
他會叫你輸入SQL 其中一個是\r
ADD pay_user TEXT NOT NULL,
這就如同goodpost_user

所以說
只要翻開付費瀏覽的安裝檔就可以看到下列的

代碼: 選擇全部

			$pay_users = split(',id',','.$pay_user.'id'); 
			$see_pay_userselect = $lang['Paymoney_userlist'] . "<select>";

			for ($ii=2; $ii<count($pay_users)-1; $ii++)
			{ 
				$see_pay_user = $db->sql_fetchrow($db->sql_query('SELECT username FROM ' . USERS_TABLE . ' WHERE user_id = ' . $pay_users[$ii])); 
				$see_pay_userselect .= "<option>" . ($ii-1) . "." . $see_pay_user['username'] . "</option>"; 
			} 
			$see_pay_userselect .= "</select>"; 
			if ( $pay_see != 0 ) 
			{ 
				$message .= $see_pay_userselect . '</fieldset></td></tr></table></center><br />'; 
			}
			else
			{
				$message .= '</fieldset></td></tr></table></center><br />'; 
			}
如果你有安裝付費瀏覽 開啟viewtopic.php
就可以看見這句話!
你只要把它修改成跑goodpost_user 就可以了!



如果你要我直接告訴你怎麼改,請等晚一點。