Nội quy chuyên mục: Khu vực này chỉ dành cho các bài hướng dẫn của đội Code và các nhà phát triển, các thành viên thông thường sẽ chỉ được xem và trả lời chủ đề, không có quyền tạo chủ đề mới.
#112837 gửi bởi hoaquynhtim99
Ngày 08 Tháng 04 2012 , 12:07
- Chú ý hướng dẫn này dành cho hai phiên bản 3.3.06 và 3.4.00 nên cần chú ý làm đúng đối với phiên bản hiện tại đang dùng.
Theo nguyên tắc của NukeViet sau khi cài đặt không cần đổi tên hoặc xóa thư mục install do đó nếu ai đã xóa hoặc đổi tên cần up lại thư mục từ bản cài đăt
Bắt đầu nâng cấp

- Login vào admin vào Cấu hình => Cấu hình chung tại ô Kích hoạt chức năng tối ưu site chọn Không kích hoạt sau đó lưu lại. Sau khi nâng cấp có thể bật lại tùy ý.

Đối với website hiện đang sử dụng NukeViet 3.4.00 Revision 1722:
Nếu chưa đạt 3.3.06 thì nâng cấp theo: viewtopic.php?f=128&t=20086

1. Download file đính kèm Update_NukeViet_3.4.00.r1722_to_3.4.01.r1758.zip về giải nén, đặt tất cả các files và folders trong thư mục NukeViet lên hosting ngang hàng với index.php
2. Đăng nhập quản trị với quyền tối cao, nhận được thông báo nâng cấp, chọn "Thực hiện nâng cấp".
3. Tiếp tục làm theo hướng dẫn tại trang nâng cấp.

--- Kết thúc hướng dẫn với NukeViet 3.4.00 Revision 1722 ----

Đối với website hiện đang sử dụng NukeViet 3.3.06 Revision 1500:

1) Backup Backup toàn site và CSDL
2) Dùng chức năng dọn dẹp hệ thống. (Không chọn: Xóa các file backup CSDL ) để xóa các các log của hệ thống.
3) Nếu bạn không sử dụng giao diện mặc định của NukeViet thì hãy làm những công việc sau:
3.1) Chỉnh sửa giao diện module search:

- Nếu theme của bạn làm từ theme default và có file /themes/ten-theme/modules/search/form.tpl
Mở /themes/ten-theme/modules/search/form.tpl và tìm
Mã: Chọn hết
<!-- BEGIN: main -->

Thêm vào sau:
Mã: Chọn hết
<div id="cse" style="width: 100%;display:none">
Loading
</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript" >
google.load('search', '1',
{
language : nv_sitelang
});
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />

Tìm
Mã: Chọn hết
var a = $("#form_search [name=q]").val();
if({NV_MIN_SEARCH_LENGTH} <= a.length && {NV_MAX_SEARCH_LENGTH} >= a.length) {
a = rawurlencode(a), window.open("http://www.google.com/cse?cx={SEARCH_ENGINE_UNIQUE_ID}&ie=UTF-8&q=" + a, "_blank");
return!1
}else {
return a.focus(), !1
}

Đổi lại thành
Mã: Chọn hết
var a = $("#form_search [name=q]").val();
$("div.sea-frame").hide();
$("#cse").show();
$("#search_result").hide();
var customSearchControl = new google.search.CustomSearchControl('{SEARCH_ENGINE_UNIQUE_ID}');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
customSearchControl.execute(a);


- Nếu theme của bạn làm từ theme modern và có file /themes/ten-theme/modules/search/form.tpl
Mở
Tìm
Mã: Chọn hết
<div class="box-border-shadow content-box clearfix">

Thay lại thành
Mã: Chọn hết
<div id="cse" style="width: 100%;display:none">
Loading
</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript" >
google.load('search', '1',
{
language : nv_sitelang
});
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
<div id="id_form_search" class="box-border-shadow content-box clearfix">

Tìm
Mã: Chọn hết
<a href="IntSearch" class="IntSearch">{LANG.search_adv_internet}</a>

Nếu có thay lại thành
Mã: Chọn hết
<a href="#" class="IntSearch">{LANG.search_adv_internet}</a>

Tìm
Mã: Chọn hết
if({NV_MIN_SEARCH_LENGTH} <= a.length && {NV_MAX_SEARCH_LENGTH} >= a.length) {
a = rawurlencode(a), window.open("http://www.google.com/cse?cx={SEARCH_ENGINE_UNIQUE_ID}&ie=UTF-8&q=" + a, "_blank");
return!1
}else {
return a.focus(), !1
}

Nếu có thay lại thành
Mã: Chọn hết
var a = $("#form_search [name=q]").val();
$("#id_form_search").hide();
$("#cse").show();
$("#search_result").hide();
var customSearchControl = new google.search.CustomSearchControl('{SEARCH_ENGINE_UNIQUE_ID}');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
customSearchControl.execute(a);


Gợi ý: Nếu giao diện riêng của bạn có file /themes/ten-theme/modules/search/form.tpl và bạn không chỉnh sửa gì ở nó thì có thể chỉ cần copy file đè file /themes/ten-theme/modules/search/form.tpl từ giao diện gốc tương ứng.

3.2) Chỉnh sửa giao diện module menu:

Nếu theme của bạn có thư mục /themes/ten-theme/modules/menu/ và bạn đang sử dụng block global.menu_style.php cần chú ý chỉnh sửa các file .tpl tương ứng trong thư mục /themes/ten-theme/modules/menu/ theo file tương ứng trong /themes/default/modules/menu/.

3.3) Chỉnh sửa giao diện module news

Nếu theme của bạn có /themes/ten-theme/modules/news/topic.tpl và được làm từ theme modern thì mở /themes/ten-theme/modules/news/topic.tpl ra tìm
Mã: Chọn hết
<span class="time">{TIME}</span>
| <span class="date">{DATE}</span>

Thay lại thành
Mã: Chọn hết
<span class="time">{LANG.pubtime}: {TIME} - {DATE}</span>


3.4) Chỉnh sửa file /themes/ten-theme/layout/footer.tpl
- Mở /themes/ten-theme/layout/footer.tpl và thêm vào tại vị trí thích hợp đoạn:
Mã: Chọn hết
<!-- BEGIN: theme_type -->
{LANG.theme_type_select}: <!-- BEGIN: loop --><!-- BEGIN: other --><a href="{STHEME_TYPE}" title="{STHEME_INFO}">{STHEME_TITLE}</a><!-- END: other --><!-- BEGIN: current -->{STHEME_TITLE}<!-- END: current --><!-- BEGIN: space --> | <!-- END: space --><!-- END: loop --><!-- END: theme_type -->


3.5) Chỉnh sửa file /themes/ten-theme/theme.php
Mở /themes/ten-theme.php thêm vào sau
Mã: Chọn hết
$xtpl->assign( 'THEME_IMG_CRONJOBS', NV_BASE_SITEURL . "index.php?second=cronjobs&amp;p=" . nv_genpass() );

Đoạn
Mã: Chọn hết

// Chuyen doi giao dien
if( ! empty( $global_config['switch_mobi_des'] ) and ! empty( $module_info['mobile'] ) )
{
$num_theme_type = sizeof( $global_config['array_theme_type'] ) - 1;

foreach( $global_config['array_theme_type'] as $i => $theme_type )
{
$xtpl->assign( 'STHEME_TYPE', NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;nv" . NV_LANG_DATA . "themever=" . $theme_type . "&amp;nv_redirect=" . nv_base64_encode( $client_info['selfurl'] ) );
$xtpl->assign( 'STHEME_TITLE', $lang_global['theme_type_' . $i] );
$xtpl->assign( 'STHEME_INFO', sprintf( $lang_global['theme_type_chose'], $lang_global['theme_type_' . $i] ) );

if( $theme_type == $global_config['current_theme_type'] )
{
$xtpl->parse( 'main.theme_type.loop.current' );
}
else
{
$xtpl->parse( 'main.theme_type.loop.other' );
}

if( $i < $num_theme_type ) $xtpl->parse( 'main.theme_type.loop.space' );

$xtpl->parse( 'main.theme_type.loop' );
}
$xtpl->parse( 'main.theme_type' );
}
unset( $theme_type, $i, $num_theme_type );


3.6) Sửa file viewcat_list.tpl
Nếu theme của bạn có file /themes/ten-theme/modules/news/viewcat_list.tpl thì mở /themes/ten-theme/modules/news/viewcat_list.tpl ra tìm
Mã: Chọn hết
</table>

Nếu có, thêm vào dưới
Mã: Chọn hết
<!-- BEGIN: generate_page -->
<div class="generate_page">
{GENERATE_PAGE}
</div>
<!-- END: generate_page -->


3.7) Chỉnh sửa blocks banner
Nếu theme của bạn có /themes/ten-theme/blocks/global.banners.tpl thì mở /themes/ten-theme/blocks/global.banners.tpl ra tìm
Mã: Chọn hết
<!-- BEGIN: loop -->
<div style="margin-top:2px;">

Nếu có, thay lại thành
Mã: Chọn hết
<!-- BEGIN: loop -->
<div class="clear"></div>
<div style="margin-top:2px;position:relative">


Tìm
Mã: Chọn hết
<!--> <![endif]-->
</object>

Thêm vào bên dưới
Mã: Chọn hết
<!-- BEGIN: fix_link --><a href="{DATA.link}" onclick="this.target='_blank'" title="{DATA.file_alt}" style="position:absolute; top:0;left:0;width:{DATA.file_width}px; height:{DATA.file_height}px">&nbsp;</a><!-- END: fix_link -->


3.8 ) Thêm giao diện module voting
- Nếu theme của bạn làm từ theme default thì tạo file /themes/modules/voting/main.tpl với nội dung
Mã: Chọn hết
<!-- BEGIN: main -->
<!-- BEGIN: loop -->
<form class="voting" action="">
<h2>{VOTING.question}</h2>
<fieldset>
<!-- BEGIN: resultn -->
<p>
<input type="checkbox" name="option[]" value="{RESULT.id}" onclick="return nv_check_accept_number(this.form,'{VOTING.accept}','{VOTING.errsm}')"/>{RESULT.title}
</p>
<!-- END: resultn -->
<!-- BEGIN: result1 -->
<p>
<input type="radio" name="option" value="{RESULT.id}" />{RESULT.title}
</p>
<!-- END: result1 -->
<div style="padding-top: 10px;" class="clearfix">
<div class="submit">
<input class="submit" type="button" value="{VOTING.langsubmit}" onclick="nv_sendvoting(this.form, '{VOTING.vid}', '{VOTING.accept}', '{VOTING.checkss}', '{VOTING.errsm}');" />
</div>
<a class="forgot fl" title="{VOTING.langresult}" href="javascript:void(0);" onclick="nv_sendvoting(this.form, '{VOTING.vid}', 0, '{VOTING.checkss}', '');">{VOTING.langresult}</a>
</div>
</fieldset>
</form>
<br/><br/>
<!-- END: loop -->
<!-- END: main -->


- Nếu theme của bạn làm từ theme modern thì tạo file /themes/modules/voting/main.tpl với nội dung
Mã: Chọn hết
<!-- BEGIN: main -->
<!-- BEGIN: loop -->
<div class="box-border">
<div class="content-box">
<form action="" method="post">
<div class="block-vote">
<p>
<strong>{VOTING.question}</strong>
</p>
<!-- BEGIN: resultn -->
<p>
<input type="checkbox" name="option[]" value="{RESULT.id}" onclick="return nv_check_accept_number(this.form,'{VOTING.accept}','{VOTING.errsm}')"/>
<span class="right">{RESULT.title}</span>
</p>
<!-- END: resultn --><!-- BEGIN: result1 -->
<p>
<input type="radio" name="option" value="{RESULT.id}" />
{RESULT.title}
</p><!-- END: result1 -->
<div class="f-action">
<input class="button" type="button" value="{VOTING.langsubmit}" onclick="nv_sendvoting(this.form, '{VOTING.vid}', '{VOTING.accept}', '{VOTING.checkss}', '{VOTING.errsm}');"/>
<a title="{VOTING.langresult}" href="javascript:void(0);" onclick="nv_sendvoting(this.form, '{VOTING.vid}', 0, '{VOTING.checkss}', '');">&nbsp; {VOTING.langresult}</a>
</div>
</div>
</form>
</div>
</div>
<br/>
<!-- END: loop -->
<!-- END: main -->


3.9) Chỉnh sửa file header.tpl
Mở file /themes/theme-cua-ban/layout/header.tpl
tìm
Mã: Chọn hết
<body>
thêm vào sau
Mã: Chọn hết
<noscript>
<div id="nojavascript">{THEME_NOJS}</div>
</noscript>


4) Download file Update_NukeViet_3.3.06.r1500_to_3.4.01.r1758.zip về giải nén, upload các file trong thư mục "nukeviet" đè lên các file đang sử dụng.

5)
- Upload tất cả các file vừa chỉnh sửa trong theme lên site (nếu có chỉnh sửa)
-Nếu bạn có tích hợp diễn đàn, hãy sửa lại giá trị DIR_FORUM trong file includes/constants.php
Mã: Chọn hết
//Thu muc chua dien dan
define( "DIR_FORUM", "forum" );


6) Hệ thống sẽ đình chỉ hoạt động của site sau khi upload đè các file và có thể có một số thông báo lỗi hiển thị trong và ngoài site tuy nhiên sau khi thực hiện nâng cấp sẽ hết.

Nếu bạn bị trang trắng sau khi upload đè các file thì hãy mở file /data/config_global.php tìm $global_config['gzip_method'] = 1; sửa lại thành $global_config['gzip_method'] = 0;

7) Nhấn F5 để trình duyệt load lại giao diện.

8 ) Đăng nhập quyền quản trị tối cao sau đó để hệ thống tự chuyển trang, nhận được thông báo nâng cấp, nhấp chọn "Thực hiện nâng cấp" tuyệt đối không chọn "Xóa gói nâng cấp".

9) Tiếp tục làm theo những gì được hướng dẫn tại trang nâng cấp.

10) Sau khi nâng cấp hoàn tất vào Cấu hình => Cấu hình site tại ô Cho phép chuyển đổi giao diện mobile, desktop hãy chỉnh theo ý thích.
11) Vào Cấu hình => Cấu hình chung tại "Loại captcha" chọn captcha bạn muốn => Lưu lại.

12) Nếu bạn có sử dụng block global.menu_style.php trên site thì vào phần Quản lý giao diện => Quản lý block để sửa lại tất cả các block này (thêm cấu hình Số Kí tự và Hiển Thị Mô Tả). Sau khi cấu hình vào dọn Dẹp hệ thống => Xóa các thông báo lỗi.

Nếu bạn sử dụng các ngôn ngữ khác tiếng việt, tiếng anh và tiếng pháp cần hoàn thiện các gói ngôn ngữ ngày, tham khảo trên http://translate.nukeviet.vn để có bản đầy đủ hơn.

Những vấn đề lỗi khác sau khi nâng cấp thành công hoặc không liên quan đến việc nâng cấp các bạn vui lòng không thao luận tại đây mà chuyển sang viewtopic.php?f=101&t=22170

Hãy sống là chính mình, bình thường nhưng không tầm thường.
#112889 gửi bởi dongly
Ngày 08 Tháng 04 2012 , 19:39
Tớ nâng cấp mọi chuyện rất OK. Nhưng mỗi tội là sau đó dưới footer không có link chuyển giao diện. Làm đi làm lại không được. Đang thử trên localhost
#112896 gửi bởi phamtantan
Ngày 08 Tháng 04 2012 , 20:27
chắc điên mất làm sao có thể làm được tất cả nhửng thứ ở trên :((
có ai biết theme spam thì làm sao với nó không ? nó làm từ theme gì vậy:
http://www.mediafire.com/?l7y08co3z9kyxl1
Demo: 100c.vn
Tình trạng này khỏi nâng cấp rồi :((
#112900 gửi bởi lknhan
Ngày 08 Tháng 04 2012 , 21:14
Nếu theme nhờ người ta làm thì làm sao biết theme đó là làm từ theme Default hay là theme Modern để biết và chọn khi chỉnh sửa lúc nâng cấp? Cảm ơn.
Sửa lần cuối bởi lknhan vào Ngày 08 Tháng 04 2012 , 22:41, với tổng số 1 lần sửa.
#112929 gửi bởi hoaquynhtim99
Ngày 09 Tháng 04 2012 , 01:33
lknhan đã viết:Nếu theme nhờ người ta làm thì làm sao biết theme đó là làm từ theme Default hay là theme Modern để biết và chọn khi chỉnh sửa lúc nâng cấp? Cảm ơn.


Bạn hỏi người nào làm theme đó, cũng có thể nó không từ theme nào cả (đối với những người chuyên nghiệp) khi đó phải đối chiếu giữa các theme

Hãy sống là chính mình, bình thường nhưng không tầm thường.
#112930 gửi bởi hoaquynhtim99
Ngày 09 Tháng 04 2012 , 01:34
doinhucondog đã viết:nâng cấp thành công, ban đầu mình cứ tưởng bấm nút kiểm tra phiên bản rồi cạp nhật luôn chứ, hoá ra phải tải file về rồi up lên host, các bản sau này cập nhật cũng vậy huh ta?


NukeViet giờ chưa xây dựng được server phục vụ việc nâng cấp tự động, bạn nào có thiện ý đóng góp để chúng ta cùng có kinh phí xây dựng nào

Hãy sống là chính mình, bình thường nhưng không tầm thường.