Nội quy chuyên mục: - Chuyên mục này chỉ dành để viết các bài viết hướng dẫn sử dụng NukeViet 3.x. Vui lòng không mở các chủ đề mới nhằm thảo luận, hỏi đáp... tại đây. Các thảo luận và hỏi đáp liên quan đến các hướng dẫn vui lòng trả lời vào các chủ đề có hướng dẫn đó.
- Ban Quản Trị cũng khuyến khích tất cả các thành viên hoàn thiện các bài viết bổ ích của mình và đưa lên Thư viện tài liệu mở về NukeViet tại địa chỉ http//wiki.nukeviet.vn
#106658 gửi bởi duongnguyen
Ngày 06 Tháng 01 2012 , 03:04
LTCT đã viết:
UNREAD_POSTgửi bởi DuongNguyen » 03 Tháng 1 2012, 09:48
Có ai biết chèn code thống kê số lượng truy cập ngày không?


Bạn mở file theme/theme của bạn/theme.php tìm dòng :

Mã: Chọn hết
$xtpl->assign( 'THEME_IMG_CRONJOBS', NV_BASE_SITEURL . "index.php?second=cronjobs&p=" . nv_genpass() );


và thêm xuống dưới đoạn code :

Mã: Chọn hết
$sql = "SELECT `c_type`, `c_val`, `c_count` FROM `" . NV_COUNTER_TABLE . "`";
$query = $db->sql_query( $sql );

while ( list( $c_type, $c_val, $c_count ) = $db->sql_fetchrow( $query ) )
{
if ( $c_type == 'day' and $c_val == date( 'd', NV_CURRENTTIME ) )
{
$xtpl->assign( 'COUNT_DAY', $c_count );
}
elseif ( $c_type == 'month' and $c_val == date( 'M', NV_CURRENTTIME ) )
{
$xtpl->assign( 'COUNT_MONTH', $c_count );
}
elseif ( $c_type == 'total' and $c_val == 'hits' )
{
$xtpl->assign( 'COUNT_ALL', $c_count );
}
}

$sql = "SELECT `uid`, `full_name` FROM `" . NV_SESSIONS_GLOBALTABLE . "` WHERE `onl_time` >= " . (NV_CURRENTTIME - NV_ONLINE_UPD_TIME);
$result = $db->sql_query ( $sql );
$query = $db->sql_query( $sql );
$count_online = $users = $bots = $guests = 0;
while ( $row = $db->sql_fetchrow( $query ) )
{
++$count_online;
if ( $row['uid'] != 0 ) ++$users;
else
{
if ( preg_match( "/^bot\:/", $row['full_name'] ) ) ++$bots;
else ++$guests;
}
}
$xtpl->assign( 'COUNT_ONLINE', $count_online );
$xtpl->assign( 'NV_BASE_SITEURL', NV_BASE_SITEURL );
if ( $users )
{
$xtpl->assign( 'COUNT_USERS', $users );
$xtpl->parse( 'main.users' );
}
if ( $guests and $guests != $count_online )
{
$xtpl->assign( 'COUNT_GUESTS', $guests );
$xtpl->parse( 'main.guests' );
}
$date = nv_date( 'd-m', NV_CURRENTTIME );

$sql = "SELECT `123456userid`, `username`, `birthday` FROM `" .NV_USERS_GLOBALTABLE."`";
$query = $db->sql_query( $sql );
while ( $row = $db->sql_fetchrow( $query ) )
{
$row['birthday'] = nv_date( 'd-m', $row['birthday'] );
if($date==$row['birthday'])
{
$xtpl->assign( 'user_bithday', $row['username'] );
$xtpl->parse( 'main.bithday.loop' );
}
if($date==$row['birthday'])
$xtpl->parse( 'main.bithday' );
}


Tiếp theo Bạn mở file theme/theme của bạn/footer.tpl thêm dòng :

Mã: Chọn hết
<span>{LANG.online} : <strong>{COUNT_ONLINE}</strong></span> | {LANG.today} :<strong> {COUNT_DAY}</strong><span> | {LANG.hits} : <strong>{COUNT_ALL}</strong></span><br />
</p><br>

<div class="fl">
<p class="footer">
<b>Chúc Mừng Sinh Nhật :</B>
<!-- BEGIN: bithday -->
<span> <!-- BEGIN: loop -->{user_bithday},<!-- END: loop --></span>
<!-- END: bithday -->

Không được bạn ơi, kết quả nè :
Đính kèm
(27.50 KB) Đã tải về 637 lần
#106723 gửi bởi phichan
Ngày 06 Tháng 01 2012 , 23:26
Theo mình, đơn giản nhất là tạo một vị trí block ở footer rồi đưa block thống kê vào đó.
Mình đã làm ở đây http://taishanvn.com.vn
Trông cũng được mà

http://vieclang.info http://ngauhung.org
#133321 gửi bởi xuanluc73
Ngày 28 Tháng 01 2013 , 05:55
Mình đã viết code cho block này: một block lấy thành viên trên diễn đàn phpbb và một block lấy thành viên của Nukeviet đang chạy thử để kiểm tra lỗi trước khi đưa lên diễn đàn. Hiện 2 block này chạy tương đối tốt trên trang Họ Trương Việt Nam dưới phần block thống kê.
Bạn nào cần dùng để kiểm tra lỗi trước mình gửi cho nhé.

Với các ban đã tích hợp thành công diễn đàn phpbb phiên bản từ 3.0.10 trở lên mình đã có bài hướng dẫn ở đây: viewtopic.php?f=129&t=26240

Demoonline
http://www.hotruong.net
http://www.truongtoc.net
Hệ thống mạng thông tin tư liệu gia phả Họ Trương Việt nam.