Bảng thống kê diễn đàn mã nguồn phpBB3 |
Hướng dẫn:
- Download thư mục Root về Tại đây- Giải nén và Up lên host (File topx.php cùng hàng với index.php nhé)
- Mở Index.php
Tìm:
$user->setup('viewforum');Chèn vào sau nó đoạn code này:
$user->setup('topX');- Mở style/subsilver2/template/index_body.html
Tìm:
<!-- INCLUDE forumlist_body.html -->Chèn vào trước nó đoạn code này:
<!-- INCLUDE topx.html -->Bạn chỉ việc lưu lại, vào Bảng điều khiển của Quản trị viên ~> Tổng quát ~> Dọn sạch bộ nhớ đệm ~>Vậy là xong rồi đó!^^
Trên đây là mình hướng dẫn cài bảng thống kê cho giao diện Subsilver2. Đối với giao diện khác các bạn làm cũng tương tự nhé!
---------------------------------------
UPDATE (16/04/2012)
Để trả lời cho câu hỏi của bạn số 1 ở comments bên dưới. Mình upload folder Root_tab mà mình đang sử dụng (đã thêm các Tab ngoài Bài viết mới, chủ đề nóng,..)
Các bạn download về. Sau đó sửa 3 file:
- topx.php (Sửa lại ID forum (màu đỏ) hiển thị phù hợp từng Tab (màu xanh)),
if(substr($mode,9,1)=='1') $lp_forums_constraint = " AND f.forum_id IN (33) "; //Cau hinh forum_id nhu trong CPLatestPosts- Root_tab\styles\giaodiencuaban\template\topx.html (Thêm/Xóa bớt Tab mình đã chèn).
if(substr($mode,9,1)=='2') $lp_forums_constraint = " AND f.forum_id IN (34) ";
if(substr($mode,9,1)=='3') $lp_forums_constraint = " AND f.forum_id IN (35) ";
if(substr($mode,9,1)=='4') $lp_forums_constraint = " AND f.forum_id IN (31,205,206) ";
if(substr($mode,9,1)=='5') $lp_forums_constraint = " AND f.forum_id IN (95) ";
<li id="topx_col_1" class=""><span style="padding: 0px 8px;"><a onclick="return false;" href="#">{L_LP_COL_1}</a></span></li>- Root_tab\language\vi (en)\topX.php (Đặt tên\Chỉnh sửa theo thứ tự từng tab tương ứng)
<li id="topx_col_2" class=""><span style="padding: 0px 8px;"><a onclick="return false;" href="#">{L_LP_COL_2}</a></span></li>
<li id="topx_col_3" class=""><span style="padding: 0px 8px;"><a onclick="return false;" href="#">{L_LP_COL_3}</a></span></li> (....Tương tự.....)
Chúc các bạn thành công!
@4: Không có gì!^^
Lỗi tổng quát
Language file ./language/en/topX.php couldn't be opened.
Bạn lưu ý: Trong folder Root_tab chỉ có lang Vi. Do đó, nếu bạn muốn nó chạy trên lang EN thì bạn đổi tên thư mục Vi~> En.
Các tiêu đề bài viết hiển thị không đúng dòng của nó, bị lệch mất chút xíu. Không biết cách chỉnh sửa thế nào?
@12: Tất cả những lỗi nhỏ về hiển thị bạn cố gắng mở file vietvbb_topx.css để cân chỉnh lại nhé (Chú ý các giá trị số!).
Một lỗi nữa phát sinh là:
- khi click vào link trong phần thống kê thì bị đăng xuất
- sau khi đăng nhập thì lại không quay lại chuyên mục cũ mà quay về trang chủ.
Lúc này em cũng cần phải thay đổi giá trị chiều cao bảng thống kê bằng cách đổi giá trị height:308px thành giá trị nhỏ hơn (Anh nghĩ tầm 203 là đẹp)
Thanks.
SQL ERROR [ mysqli ]
Unknown column 'user_thanked' in 'field list' [1054]
SQL
SELECT user_id, username, user_colour, user_thanked FROM phpbb_users WHERE user_type NOT IN (2, 1) AND user_thanked <> 0 AND user_id NOT IN (2) ORDER BY user_thanked DESC LIMIT 15
BACKTRACE
FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()
Bạn bị lỗi vậy là đúng, bởi vì muốn hiện Top Thanks thì bạn phải hack thêm MOD Thanks for post nữa, hoặc bỏ luôn tùy chọn xem Top Thanks trên Top X Stats. Để bỏ tùy chọn xem Top Thanks trên Top X Stats bạn làm như sau:
- Mở file topx.html. Tìm và xóa dòng <option value="topthanked">{L_TTOP_THANKED}</option>
- Mở file topx_reporn.html. Tìm và xóa luôn đoạn code từ <!-- BEGIN topx_thanked --> đến <!-- END topx_active -->
- Mở file topx.php: Tìm và xóa luôn đoạn code từ case 'topthanked': đến break;.
- Lưu 3 file này lại là xong!
Cũng khuya rồi, mình đi ngủ đây. Có gì thắc mắc bạn cứ để lại câu hỏi tại đây nha. Lúc khác mình sẽ trả lời. Chào bạn!
@12: Edit ../template/topx_reporn.html. Change heidht from 19.2px to 20px.
@15: The original list.gif is 300px height. Each number is 20px height. To change the number of rows listed, do:
1. Use photoshop to edit list.gif.
2. Edit root/topx.php : Set $col_num = ...
3. Edit file ../template/topx.html : Change height from 308px to ... (200px if 10 rows)
hiện tai e đã cài và sử dụng TOPX, nhưng sau đó thấy load dử liệu rất chậm và thường xuyên treo forum. nên tạm thời e gỡ ra. ( mặc dù dữ liệu e ko nhiều).
e mong muốn khắc phục vấn đề này và Tạo TOPX chia thêm một số chuyên mục mới.
e có thể nhờ a hỗ trợ được ko ạ ? ( e sẽ hậu tạ hay thương lượng về chi phí ). e rất cần, mong anh giúp em.
email của e là: madaothanhcong1989@yahoo.com
rất mong a giúp e giải quyết vấn đề này.
thanks anh!
Giờ mình muốn nhúng vào mod này thì làm sao, theo mình biết thì mặc định mod này là đi kèm với mod ajax thank post 0.2.1
case 'topthanked':
if (($user_thanked = $cache->get('_topx_thanked')) === false)
{
$user_thanked = array();
$sql = 'SELECT COUNT(t.post_id) AS tally, u.user_id, u.username, u.user_colour
FROM ' . THANKS_TABLE . ' t
LEFT JOIN ' . USERS_TABLE . ' u ON t.poster_id = u.user_id
GROUP BY t.poster_id
ORDER BY tally DESC';
$result = $db->sql_query_limit($sql, 5);
while ($row = $db->sql_fetchrow($result))
{
$user_thanked[$row['user_id']] = array(
'user_id' => $row['user_id'],
'username' => $row['username'],
'user_colour' => $row['user_colour'],
'user_thanks' => $row['tally'],
);
}
$db->sql_freeresult($result);
$cache->put('_topx_thanked', $user_thanked, $cache_time);
}
foreach ($user_thanked as $row)
{
$shortusername=utf8_strlen($row['username'])>$char_username_limit?utf8_substr($row['username'],0,$char_username_limit-3).'...':$row['username'];
$username_string = get_username_string('full', $row['user_id'], $shortusername, $row['user_colour']);
$template->assign_block_vars('topx_thanked',array(
'S_SEARCH_ACTION' => append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $row['user_id'] . '&sr=posts'),
'THANKED' => $row['user_thanks'],
'USERNAME_FULL' => $username_string
));
}
http://chothuongmai.vn/@forum/showthread.php?p=765
Sau đó vào ACP trong phần Tổng quan nhấn dọn sạch bộ nhớ là mọi thứ lại OK ngay. Chúc bạn thành công. Qua đây cũng cảm ơn Admin đã có bài viết hay và nhiệt tình với cả nhà nhé.
- Mở file tempalte/topx.html, tìm đoạn mã:
<ul class="tabs">
Trong file này sẽ có 2 đoạn mã giống trên. Mình sẽ chèn đoạn mã dưới đây vào ngay sau đoạn mã vừa tìm được (Mã thứ 2 từ trên xuống nhé):
<li id="topx_mostview" class=""><span style="padding: 0px 8px;"><a onclick="return false;" href="#">{L_TMOST_VIEW}</a></span></li>
Lưu file này lại là xong!
- Để sửa lại tên tab theo ý mình thì vào file language/vi/topX.php để sửa lại nhé! (Tìm đến TMOST_VIEW để sửa!)
Bạn thêm cột TMOST_VIEW này vào nhé:
- Mở file topx.php, tìm:
}else if(substr($mode,0,9)=='topx_col_'){
Chèn đoạn mã dưới đây vào ngay trên đoạn mã vừa tìm được:
}else if($mode=='topx_mostview'){
$sql_select='MAX(t.topic_views) as topic_views, u.user_id, u.username, u.user_colour, t.topic_title, t.forum_id, t.topic_last_post_id, p.post_time, t.topic_replies, f.forum_name, t.topic_last_poster_id, t.topic_last_poster_name, t.topic_last_poster_colour,t.topic_time';
$sql_order='topic_views DESC';
$tiep=false;
- Mở file template/topx_reporn.html, tìm:
<em title="{L_POSTER}" style="float: right; padding-top: 2px;padding-right: 1px;">
Chèn đoạn mã dưới đây vào ngay dưới đoạn mã vừa tìm được:
<!-- IF topic_rows.MOSTVIEW_MODE --><span style="font-style:normal;">{L_VIEWS} <b>{topic_rows.VIEWS}</b> {L_TIMES}</span><!-- ENDIF -->
- Mở file language/vi/topX.php, bạn chèn thêm hàng 'TMOST_VIEW' => 'Xem nhiều',
- Bấm lưu lại các file. Vào ACP Xóa bộ nhớ đệm nữa là xong!
Mình đã thử xóa Hết Vùng TD trong TopX.html Nhưng Kết Quả box còn lại Cứ load mãi.. không Show bài viết..
Bạn Quý ơi cho mình hỏi là mình muốn tăng ký tự hiển thị cho TopX này thì phải làm thế nào?
Cụ thể:
- Chủ đề: Hướng dẫn khắc phục giới hạn ký tự trong tiêu đề bài viết
- Hiển thị ở TopX: Hướng dẫn khắc phục giới hạn ký tự trong tiêu đ...
Mình cảm ơn bạn nhiều!
Lỗi tổng quát
template->_tpl_load_file(): File ./styles/prosilver/template/topx_reporn.html does not exist or is empty
BACKTRACE
FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()
FILE: [ROOT]/includes/functions_template.php
LINE: 63
CALL: trigger_error()
FILE: [ROOT]/includes/template.php
LINE: 437
CALL: template_compile->_tpl_load_file()
FILE: [ROOT]/includes/template.php
LINE: 224
CALL: template->_tpl_load()
FILE: [ROOT]/includes/functions.php
LINE: 4873
CALL: template->display()
FILE: [ROOT]/topx.php
LINE: 211
CALL: page_footer()
Vào /styles/prosilver/template/topx_reporn.html hay topx.html thì đều 404 (dù nó vẫn trong htdocs) Cái file htm khác trong này vẫn bình thường.
- khi click vào link trong phần thống kê thì bị đăng xuất
Admin hướng dẫn mình khắc phục, mình cảm ơn bạn ạ!