13/10/2015 - 10:10
Chào các bạn !
Hiện tại mình vừa viết chức năng hiển thị số bài hiển thị cho DDVN, có thể tiện tìm bài rất là nhiều mà không phải lướt từng trang nhiều lần, cũng như dành cho những ai muốn xem nhiều bài.

Mod này không đụng đến CSDL và có thể áp dụng cho mọi code.
Đầu tiên mình đã hoàn thành cho johncms, như các bạn đã biết trong johncms có $kmess ( hiển thị số bài ) $start ( chạy số trang ).
Bây giờ mình sẽ thay đổi cấu trúc của nó ở ngay trang hiển thị mà không ảnh hưởng ở chỗ khác.
Bước 1 bạn tìm đến files hiện bài viết mới ( mặc định johncms là /pages/mainmenu.php ).
sau đó thêm vào trước chỗ hiển thị bài
// phan chon so luong hien thi bai trang
$count_list = intval($_GET['list']);
$pages = intval($_GET['page']);
// phan nay dung de chay session de luu lai gia tri $kmess moi.
switch ($count_list) {
case 10:
$_SESSION['KMESS'] = 10;
break;
case 20:
$_SESSION['KMESS'] = 20;
break;
case 30:
$_SESSION['KMESS'] = 30;
break;
case 40:
$_SESSION['KMESS'] = 40;
break;
case 50:
$_SESSION['KMESS'] = 50;
break;
default:
if (isset($_SESSION['KMESS']) == FALSE) {
$_SESSION['KMESS'] = 10;
}
break;
}
// phan nay se load ve trang chu neu chon xong
if (isset($_GET['list'])) {
header ("location: /");
}
// phan nay sẽ luu gia tri moi cua bien
$kmess = $_SESSION['KMESS'];
if ($pages == 1 || $pages == 0) {
$start = 0;
} else {
$start = intval((($_SESSION['KMESS']*$pages)-1));
}
Để mình giải thích thêm.
Mình dùng biến SESSION để lưu giá trị của số lượt bài mà bạn đã chọn xong thay giá trị gốc của $kmess và $start là hiển thị đúng theo như sự kì vọng.
Bước 2: tạo các select nút chọn bài
Các bạn phải chuyển nó về html nhé.
Ví dụ
đoạn hiển thị đây
PHP Code:
<div style="float:right;margin: -5px 5px -10px 5px">
<select name="url"size="1"onChange="window.open(this.options [this.selectedIndex].value,'_top')" style="border: 0;">
<?php for ($i = 1; $i < 6; $i++) {
$count = $i*10;
echo '<option value="/?list='.$count.'" '.($count == $kmess ? 'selected' : '').'>'.$count.'</option>';
}
?>
</select>
</div>
chúc các bạn thành công.
Copy nhớ ghi nguồn @KenAn - DDVN.ME