[News] Đưa ngôi sao ( Rating ) ra trang chủ ( và trang chuyên mục )

Thứ năm - 07/07/2016 13:13
Bài viết hướng dẫn bạn đưa ngôi sao vàng đánh giá nội dung của module News ra trang chủ, cũng như trang chuyên mục tin.
[News] Đưa ngôi sao ( Rating ) ra trang chủ ( và trang chuyên mục )
[News] Đưa ngôi sao ( Rating ) ra trang chủ ( và trang chuyên mục )

Áp dụng cho: NukeViet 4.0.29

Module: News.

Các file can thiệp :

+ CSS: news.css

+ PHP: theme.php, viewcat.php, main.php

+ TPL: viewcat_main_right.tpl, viewcat_page.tpl

Các chế độ sẽ hiển thị: Danh sách, mới(cũ) lên trên; Chuyên mục,tin khác nằm bên phải.

Các chế độ hiển thị khác thì can thiệp tương tự.

Quy tắc vàng: Luôn luôn sao lưu !

Cách làm:

CSS:

Thêm vào cuối news.css code sau :

.rating-box {    color: #f0c808;    line-height: 1;    position: relative;    white-space: nowrap;    display: inline-block;}.rating-box span {    display: block;    position: absolute;    top: 0;    left: 0;    bottom: 0;    z-index: 1;    overflow: hidden;    line-height: 1;}

Code này sẽ hiện ngôi sao màu vàng đẹp rạng rỡ và đúng vị trí.

Bạn có thể sửa #f0c808 thành mã màu mà bạn mong muốn.

PHP:

Với theme.php:

01/ Tìm

viewcat_page_new($array_catpage, $array_cat_other, $generate_page)

Tìm khá lâu bên dưới dòng đó, khoảng 180-185 :

    $a = 0;    foreach ($array_catpage as $array_row_i) {

thêm code này vào dưới:

		$rating_width = 0;		if(!empty($array_row_i['numberrating'])){			$rating_width = $array_row_i['numberrating']/5 * 100;		}		$xtpl->assign( 'RATING_WIDTH', $rating_width );

Khi đó ta có:

    foreach ($array_catpage as $array_row_i) {		$rating_width = 0;		if(!empty($array_row_i['numberrating'])){			$rating_width = $array_row_i['numberrating']/5 * 100;		}		$xtpl->assign( 'RATING_WIDTH', $rating_width );        $newday = $array_row_i['publtime'] + (86400 * $array_row_i['newday']);        $array_row_i['publtime'] = nv_date('d/m/Y h:i:s A', $array_row_i['publtime']);        $array_row_i['listcatid'] = explode(',', $array_row_i['listcatid']);        $num_cat = sizeof($array_row_i['listcatid']);

Vậy là xong phần Xem tin theo danh sách của bước này.

 

02/ Tìm

function viewsubcat_main($viewcat, $array_cat)

Tìm đoạn này bên dưới dòng đó:

$xtpl->assign('CONTENT', $array_row_i);

Thêm vào bên dưới:

					$rating_width = 0;					if(!empty($array_row_i['numberrating'])){						$rating_width = $array_row_i['numberrating']/5 * 100;					}					$xtpl->assign( 'RATING_WIDTH', $rating_width );

Khi đó ta có:

                if ($a == 1) {                    if ($newday >= NV_CURRENTTIME) {                        $xtpl->parse('main.listcat.newday');                    }                    $xtpl->assign('CONTENT', $array_row_i);					$rating_width = 0;					if(!empty($array_row_i['numberrating'])){						$rating_width = $array_row_i['numberrating']/5 * 100;					}					$xtpl->assign( 'RATING_WIDTH', $rating_width );                    if ($array_row_i['imghome'] != "") {

Vậy là xong phần theme.php.

 

Với main.php:

Tìm :

    } elseif ($viewcat == 'viewcat_page_new' or $viewcat == 'viewcat_page_old') {

 

Tìm dòng bên dưới nó, khoảng 81 là :

            $array_catpage[] = $item;

Thêm vào bên trên nó

			$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;

Khi đó ta có :

            $item['newday'] = $global_array_cat[$item['catid']]['newday'];            $item['link'] = $global_array_cat[$item['catid']]['link'] . '/' . $item['alias'] . '-' . $item['id'] . $global_config['rewrite_exturl'];			$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;            $array_catpage[] = $item;            $end_publtime = $item['publtime'];

Làm tiếp với :

    } elseif ($viewcat == 'viewcat_main_left' or $viewcat == 'viewcat_main_right' or $viewcat == 'viewcat_main_bottom') {

Tìm bên dưới của nó:

 

					$array_cat[$key]['content'][] = $item;

Thêm vào trên nó:

					$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;

Khi đó ta có:

$item['newday'] = $array_cat_i['newday'];$item['link'] = $array_cat_i['link'] . '/' . $item['alias'] . '-' . $item['id'] . $global_config['rewrite_exturl'];$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;$array_cat[$key]['content'][] = $item;

Xong phần main.php.

 

Với viewcat.php:

 

Tìm:

    if ($viewcat == 'viewcat_page_new' or $viewcat == 'viewcat_page_old' or $set_view_page) {

Thêm vào bên trên:

			$array_catpage[] = $item;

Đoạn code sau:

			$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;

Khi đó ta có:

 

$item['newday'] = $global_array_cat[$catid]['newday'];$item['link'] = $global_array_cat[$catid]['link'] . '/' . $item['alias'] . '-' . $item['id'] . $global_config['rewrite_exturl'];$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;$array_catpage[] = $item;$end_publtime = $item['publtime'];

Tìm:

 

    } elseif ($viewcat == 'viewcat_main_left' or $viewcat == 'viewcat_main_right' or $viewcat == 'viewcat_main_bottom') {

Thêm vào bên trên:

 

$array_catcontent[] = $item;

Đoạn code này:

$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;

Ta sẽ có:

 

	$item['newday'] = $global_array_cat[$catid]['newday'];	$item['link'] = $global_array_cat[$catid]['link'] . '/' . $item['alias'] . '-' . $item['id'] . $global_config['rewrite_exturl'];	$item['numberrating'] = ( $item['click_rating'] > 0 ) ? round( $item['total_rating'] / $item['click_rating'], 1 ) : 0;	$array_catcontent[] = $item;}unset($sql, $result);

Xong phần viewcat.php.

Xong phần PHP.

 

TPL:

Mở viewcat_main_right.tpl, tìm

</h3>

Thêm vào bên dưới:

 

 

					<p>						<span class="rating-box">							<i class="fa fa-star-o" aria-hidden="true"></i>							<i class="fa fa-star-o" aria-hidden="true"></i>							<i class="fa fa-star-o" aria-hidden="true"></i>							<i class="fa fa-star-o" aria-hidden="true"></i>							<i class="fa fa-star-o" aria-hidden="true"></i>							<span style="width:{RATING_WIDTH}%;">								<i class="fa fa-star" aria-hidden="true"></i>								<i class="fa fa-star" aria-hidden="true"></i>								<i class="fa fa-star" aria-hidden="true"></i>								<i class="fa fa-star" aria-hidden="true"></i>								<i class="fa fa-star" aria-hidden="true"></i>							</span>						</span>						<em class="text-muted">({CONTENT.click_rating} {LANG.rating_count})</em>					</p>

 

Xong viewcat_main_right.tpl

 

02/ Mở viewcat_page.tpl:

Làm y như bên trên.

 

Khi đó trang chủ/Các chuyên mục nếu cấu hình như bên trên sẽ hiện số sao và số lượt đánh giá của mỗi tin.

5555

Bạn có thể tải về các File được nhắc tới trong bài viết này để tham khảo ở link bên dưới.
=> https://www.dropbox.com/s/tu43c6h0yip0rpn/demo_file.zip?dl=0

Tổng số điểm của bài viết là: 12 trong 4 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Mã bảo mật   
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây