19-04-2011, 11:39 PM
20-04-2011, 09:53 AM
(19-04-2011, 11:39 PM)hvn Đã viết: [ -> ]À lão đổi sang file generate RSS này đi, có output thêm author nữa đấy.
À, cái kia bọn nó đưa cũng chưa chuẩn. Tớ setup thử 1 cái forum để test thì thấy vẫn không có tên tác giả. Phải mò trong code của nó tìm mãi mới ra câu lệnh SQL ở dòng 112 thiếu trường username :
Lão dò đến dòng đó, thay cái này :
Mã:
$query = $db->simple_select("posts", "subject, dateline, message, edittime, tid, fid, pid", "visible='1' ".$forumlist, array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit' => $post_limit));
bằng cái này :
Mã:
$query = $db->simple_select("posts", "subject, dateline, username, message, edittime, tid, fid, pid", "visible='1' ".$forumlist, array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit' => $post_limit));
Nó sẽ ra cái như thế này :
http://gycoder.uni.cc/g/forum/syndication2.php?limit=15
Sau đó thì phải sửa lại file tal_rss_autoupdate.php vì lúc trước chưa có giá trị author.
Lão tìm dòng 75, thay đoạn này :
Mã:
array_push($result, array(
'key'=>$k,
'title'=>$item['title'],
'link'=>switchURL($item['link']),
'pubdate'=>$item['pubDate'],
'snipped'=>quote($content, 50, 12),
'content'=>$content
));
bằng đoạn này :
Mã:
array_push($result, array(
'key'=>$k,
'title'=>$item['title'],
'link'=>switchURL($item['link']),
'pubdate'=>$item['pubDate'],
'author'=>$item['dc:creator'],
'snipped'=>quote($content, 50, 12),
'content'=>$content
));
Cuối cùng là mở file tal.php tìm các dòng 19, 42 để thêm câu lệnh viết tên tác giả post ở các hàm display và viewEntry :
Mã:
$output.='<span class="author">'.$data[$i]->author.'</span><br />';
Nó sẽ ra như thế này :
http://gycoder.uni.cc/m/tal.php
20-04-2011, 10:00 AM
Đây lão lấy cái này cho nhanh khỏi sửa mất công.
20-04-2011, 11:01 AM
Cái schedule task dễ dùng mà lão Hớ.
Đầu tiên là phải copy file auto_rss_autoupdate.php vào thư mục inc/tasks, sau đó :
- vào Tools & Maintenance/Task Manager
- chọn tab Add New Task
- nhập Title và Short Description
- tại mục Task File, chọn tên file auto_rss_autoupdate.php trong dropdown list. Danh sách này tự nó tìm trong inc/tasks.
- Tại Time: Minutes, đặt 5 cho 5 phút.
- các fields Time: Hours, Days of Month đặt vào ký hiệu *
- các mục chọn bên dưới cứ để mặc định Every....
- Enable Logging? chọn No cũng được.
- Task enabled? thì chọn Yes.
Cuối cùng save lại cho nó chạy.
Lưu ý là khi đưa auto_rss_autoupdate.php vào thư mục inc/tasks thì phải chỉnh lại đường dẫn đến nơi đặt file cache_tal_lastpost.txt
Đầu tiên là phải copy file auto_rss_autoupdate.php vào thư mục inc/tasks, sau đó :
- vào Tools & Maintenance/Task Manager
- chọn tab Add New Task
- nhập Title và Short Description
- tại mục Task File, chọn tên file auto_rss_autoupdate.php trong dropdown list. Danh sách này tự nó tìm trong inc/tasks.
- Tại Time: Minutes, đặt 5 cho 5 phút.
- các fields Time: Hours, Days of Month đặt vào ký hiệu *
- các mục chọn bên dưới cứ để mặc định Every....
- Enable Logging? chọn No cũng được.
- Task enabled? thì chọn Yes.
Cuối cùng save lại cho nó chạy.
Lưu ý là khi đưa auto_rss_autoupdate.php vào thư mục inc/tasks thì phải chỉnh lại đường dẫn đến nơi đặt file cache_tal_lastpost.txt
20-04-2011, 01:38 PM
Ok hết rồi! mà file syndication2.php lão gửi trong TAMmFollower.rar vẫn chưa sửa thêm cái username đấy nhé! Làm mình tưởng làm sai gì!
Có sửa lại 2 dòng trong file tal_rss_autoupdate.php để chạy được trong task schedule
Thành
Cái Task Schedule hình như phải nhập: 0,5,10,15,20,25,30,35,40... mới có tác dụng. Vì thế mình để * luôn cho mỗi phút một lần. Chừng nào nặng quá thì giảm bớt!
Có sửa lại 2 dòng trong file tal_rss_autoupdate.php để chạy được trong task schedule
Mã PHP:
$file = 'cache_tal_lastpost.txt';
require_once 'rss_php.php';
Thành
Mã PHP:
$file = MYBB_ROOT.'mobile/cache_tal_lastpost.txt';
require_once MYBB_ROOT.'mobile/rss_php.php';
Cái Task Schedule hình như phải nhập: 0,5,10,15,20,25,30,35,40... mới có tác dụng. Vì thế mình để * luôn cho mỗi phút một lần. Chừng nào nặng quá thì giảm bớt!
20-04-2011, 02:45 PM
Lão có chỉnh nhầm chỗ nào không mà nãy tôi thấy forum thỉnh thoảng báo lỗi "quá nhiều truy vấn". Có khi cứ để 5 hay 3 phút update 1 lần thôi chứ không mỗi khi có ai mở trang nào nó lại kiểm tra task time rồi update 1 phát mà chẳng hề có nội dung nào mới cả.
Còn một thiếu sót nữa ở hàm viewEntry, file tal.php, đoạn kiểm tra điều kiện biến $key :
Ban đầu tôi tính $key từ 0, nên điều kiện để là $key < $total, nhưng sau đó tôi lại tính $key từ 1, nên điều kiện phải là $key<=$total, quên chưa sửa lại ở bản gửi lão. Để thế sẽ không thấy được toàn văn bài post cuối cùng.
Ví dụ :
http://thiamlau.com/forum/mobile/?view=30
$key = 30 trả về not found mặc dù thực sự có 30 entries.
Thằng mybb có cái biến MYBB_ROOT tiện thật
Còn một thiếu sót nữa ở hàm viewEntry, file tal.php, đoạn kiểm tra điều kiện biến $key :
Mã:
if($key>0 && $key<=$total){
for($i=0; $i<$total; $i++){
if($data[$i]->key == ($key-1)){
$entry = $data[$i];
break;
}
}
}
Ban đầu tôi tính $key từ 0, nên điều kiện để là $key < $total, nhưng sau đó tôi lại tính $key từ 1, nên điều kiện phải là $key<=$total, quên chưa sửa lại ở bản gửi lão. Để thế sẽ không thấy được toàn văn bài post cuối cùng.
Ví dụ :
http://thiamlau.com/forum/mobile/?view=30
$key = 30 trả về not found mặc dù thực sự có 30 entries.
Thằng mybb có cái biến MYBB_ROOT tiện thật
20-04-2011, 06:13 PM
Đã chỉnh lại
Thời gian cập nhật sẽ là mỗi 5 phút 1 lần!
Mọi người có thể vào từ Phiên bản mobile (bên dưới banner Thi Ẩm Lâu) hoặc truy cập trực tiếp địa chỉ:
http://thiamlau.com/forum/mobile
Thời gian cập nhật sẽ là mỗi 5 phút 1 lần!
Mọi người có thể vào từ Phiên bản mobile (bên dưới banner Thi Ẩm Lâu) hoặc truy cập trực tiếp địa chỉ:
http://thiamlau.com/forum/mobile
21-04-2011, 07:39 AM
(20-04-2011, 06:13 PM)hothiethoa Đã viết: [ -> ]Đã chỉnh lại
Thời gian cập nhật sẽ là mỗi 5 phút 1 lần!
Mọi người có thể vào từ Phiên bản mobile (bên dưới banner Thi Ẩm Lâu) hoặc truy cập trực tiếp địa chỉ:
http://thiamlau.com/forum/mobile
Ổn rồi đấy lão ạ Để từ từ tớ tranh thủ nghiên cứu phần login và post bài xem sao.
23-04-2011, 02:51 PM
Lão Hớ rảnh thì vào đây test thử cái :
http://gycoder.uni.cc/g/forum/mobile/
Chức năng giới hạn, chỉ có thể đăng nhập và reply vào topic có sẵn.
Các nick để test : alice, bob, victor cùng có pass là 123456.
Bản này tớ thiết kế lại với ý tưởng làm phẳng cấu trúc forum, không quan tâm đến các khái niệm forum/category/box, chỉ còn các post và thread. Newest Posts cho phép xem 30 post mới nhất trong toàn forum, Browse Threads liệt kê 50 chủ đề có bài mới gần nhất.
Vì có thể can thiệp luôn vào db nên không dùng cache nữa.
http://gycoder.uni.cc/g/forum/mobile/
Chức năng giới hạn, chỉ có thể đăng nhập và reply vào topic có sẵn.
Các nick để test : alice, bob, victor cùng có pass là 123456.
Bản này tớ thiết kế lại với ý tưởng làm phẳng cấu trúc forum, không quan tâm đến các khái niệm forum/category/box, chỉ còn các post và thread. Newest Posts cho phép xem 30 post mới nhất trong toàn forum, Browse Threads liệt kê 50 chủ đề có bài mới gần nhất.
Vì có thể can thiệp luôn vào db nên không dùng cache nữa.
23-04-2011, 03:07 PM
Hay lắm rồi bác!
Nếu không dùng cache nữa thì không cần phải đặt task schedule cho nó nữa à? Query trực tiếp từ database luôn?
Nếu không dùng cache nữa thì không cần phải đặt task schedule cho nó nữa à? Query trực tiếp từ database luôn?