1 頁 (共 1 頁)

[解決] 簡易子版面+Topic On Index 的問題

發表於 : 2005-03-29 02:45
8GuaWong
phpbb:2.0.13
網址: http://beme.co.nz/forum/
簡易子版面: http://phpbb-tw.net/phpbb/viewtopic.php?t=33019
Topic on Index: http://www.mandersonline.nl/mods/

裝了子版面後有辦法讓子版面的主題也出現在 index 嗎?

謝囉

發表於 : 2005-03-31 13:41
ETERNAL
是可以做到,我也很想要有這樣的功能\r
但是效能是最大的考量

假設子版下還有很多延生的子版
會形成迴圈中還有迴圈,甚至增加query來尋找最新的主題
這樣會造成效能上的負擔

等想到有辦法能輕鬆簡單的方法,才會弄這樣的功能

發表於 : 2005-03-31 20:42
8GuaWong
喔 ok 謝謝 eternal 的回覆 :)

Re: [解決] 簡易子版面+Topic On Index 的問題

發表於 : 2005-04-01 20:25
心靈捕手
8GuaWong 寫:phpbb:2.0.13
網址: http://beme.co.nz/forum/
簡易子版面: http://phpbb-tw.net/phpbb/viewtopic.php?t=33019
Topic on Index: http://www.mandersonline.nl/mods/

裝了子版面後有辦法讓子版面的主題也出現在 index 嗎?

謝囉
類似的問題, 我也曾經思考過;
只是我和您的目標, 不大一樣.

因為我的子版面的主題, 是會出現在首頁的 Top 5 之中的.
( 我是安裝 OOHOO 大大的 Top 5 Mod
參考連結 http://phpbb-tw.net/phpbb/viewtopic.php?p=5611#5611 )

參觀過 ETERNAL 兄以及您的論壇,
發現您們似乎都是使用上述的 Topic on Index,
我猜想: 是否因此而造成無法將子版面的主題, 顯示在 Top 中呢?

當初思考這類問題的動機是:
假如 A 版面底下, 有 A1, A2, A3, A4, A5 五個子版面,
在 A 版面, 的最右邊一欄" 最後發表",
只會顯示 A 版面, 最後發表的( 發表者)文章,
並不會顯示其他五個子版面, 最後發表的( 發表者)文章.

因此, 我思考這類問題的目標是:
能否依照 A 版面( 包含五個子版面) 發文的時間先後順序,
在 A 版面, 的最右邊一欄" 最後發表",
顯示 A 版面( 包含五個子版面), 最後發表的( 發表者)文章?

也許從外掛 adv_top5_mod 當中的 adv_top5.php 可以得到一些靈感吧!...(傷腦筋中...) :mrgreen:

發表於 : 2005-04-02 22:32
ETERNAL
可以參考這一篇
http://bbs.2233.idv.tw/viewtopic.php?t=18931

1.讓子版面跟主版的主題與文章數一起計算
2.讓子版的新文章出現在首頁上

發表於 : 2005-04-03 22:01
心靈捕手
ETERNAL 寫:可以參考這一篇
http://bbs.2233.idv.tw/viewtopic.php?t=18931

1.讓子版面跟主版的主題與文章數一起計算
2.讓子版的新文章出現在首頁上
感謝您的分享!

我參考上述文章修改後,
到後台新增子版面時, 出現了錯誤. 如下圖:
圖檔

關於 main_sub 這個欄位, 已經新增. 如下圖:
圖檔
而且也有參考上述文章做過修改:
尋找
代碼:
$sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status,forum_sub,sort_sub,


在同一行的sort_sub,後面加上
代碼:
main_sub,


尋找
代碼:
VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . $c . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " .$forum_sub.",".$sort_sub.",".


在同一行的.$sort_sub.",".後面加上
代碼:
$main_sub.",".
下面是該 $sql 的修正後代碼:

代碼: 選擇全部

			$sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, forum_sub, sort_sub, main_sub, forum_count_posts, forum_icon, prune_enable, forum_topictypes" . $field_sql . ")
				VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . $c . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . $forum_sub . ", " . $sort_sub . ", " . $main_sub . ", " . intval($HTTP_POST_VARS['count_posts']) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumicon']) . "', " . intval($HTTP_POST_VARS['prune_enable']) . ",'".str_replace("\'", "''", $HTTP_POST_VARS['topictypes'])."'".$value_sql . ")";
麻煩 ETERNAL 兄能夠撥冗賜教, 不勝感激! :-)

發表於 : 2005-04-04 17:42
ETERNAL
我內容有寫錯\r

admin_forums.php有一段要改成這樣\r

打開
/admin/admin_forums.php

尋找\r

代碼: 選擇全部

				$c=intval($temp[0]);
				$forum_sub=intval($temp[1]);
後面加上

代碼: 選擇全部

				$main_sub=intval($temp[3]);

發表於 : 2005-04-04 19:37
心靈捕手
ETERNAL 寫:我內容有寫錯\r

admin_forums.php有一段要改成這樣\r

打開
/admin/admin_forums.php

尋找\r

代碼: 選擇全部

				$c=intval($temp[0]);
				$forum_sub=intval($temp[1]);
後面加上

代碼: 選擇全部

				$main_sub=intval($temp[3]);
感謝您的傾囊相授!
我已經修正成功了, 這正是我夢寐以求的目標. :-D

另外, 我有一個小發現,...

您上頭的文章備註提到:
PS2:

修改完後,記得到phpbb的後台重新設定子版面
否則功能無法生效
因為我已經增添 10 個子版面,
如果要再重新新增 10 個子版面的話,
也算是一個不小的工程( 設定版面描述, 版面圖示, 主題類型, 權限設定,...);

所以, 原本打算進資料庫, 直接新增,
卻意外發現:
只要將原來的子版面欄位" main_sub" 的值, 修改成" forum_sub" 的值,
就可以成功=>將子版面的主題顯示在首頁的" 最後發表" 了.


小小心得, 提供給大家分享.

發表於 : 2005-04-04 22:34
ETERNAL
呵 是可以把main_sub改成forum_sub的值\r
main_sub是存放最上層主版面的值\r
如果你只有一層的子分區,效果是一樣的

你不用重新新增10 個子版面的話,直接在後台按編輯進去,然後什麼都不用改\r
直接儲存就可以了