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.
#127222 gửi bởi hoaquynhtim99
Ngày 25 Tháng 10 2012 , 12:02
- Chú ý hướng dẫn này dành cho hai phiên bản 3.3.06 (revision 1500) và 3.4.01 (revision 1758) nên cần chú ý làm đúng đối với phiên bản hiện tại đang dùng. Nếu site của bạn không thuộc hai phiên bản đó thì hãy nâng cấp lên phiên bản thích hợp theo các hướng dẫn: viewforum.php?f=149
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

Nếu bạn chuyển site về localhost nâng cấp; hoặc nếu bạn sử dụng các biện pháp bảo mật như đổi tên thư mục... cho NukeViet; hoặc sử dụng các phiên bản từ kho code mà không phải bản phát hành chính thức... Trước khi nâng cấp bạn cần chú ý đọc kĩ topic này: viewtopic.php?f=149&t=24963&start=20#p127398

Bắt đầu nâng cấp

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

1. Download file đính kèm Upgrade_NukeViet_3.4.01.r1758_to_3.4.02.r1929.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.01 Revision 1758 ----
Nếu ai đang dùng NukeViet 3.4.01 Revision 1758 thì không cần đọc phần bên dưới nữa

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

(*) 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 ý.

1) 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 default thì mở /themes/ten-theme/modules/news/topic.tpl ra tìm
Mã: Chọn hết
<!-- BEGIN: main -->

thêm vào bên dưới
Mã: Chọn hết
<div style="background:#F2F2F2;border : 1px solid #ccc; padding:5px">
<a style="font-size:13px;" title="{TOPPIC_TITLE}" href="{TOPPIC_LINK}"><strong>{TOPPIC_TITLE}</strong></a>
</div>
<!-- BEGIN: topicdescription -->
<div style="background:#fff; padding:8px; border-bottom : 1px solid #ccc;">
{TOPPIC_DESCRIPTION}
</div>
<!-- END: topicdescription -->

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
<!-- BEGIN: main -->

thêm vào bên dưới
Mã: Chọn hết
<div class="cat-nav" style="border:1px solid #ccc;padding:4px;">
<a href="{TOPPIC_LINK}" class="current-cat" title="{TOPPIC_TITLE}">{TOPPIC_TITLE}</a>
</div>
<!-- BEGIN: topicdescription -->
<div style="border:1px solid #ccc;border-top:none;padding:4px;">
{TOPPIC_DESCRIPTION}
</div>
<!-- END: topicdescription -->
<div class="clear">&nbsp;</div>


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>


3.10) Nếu giao diện của bạn có file sau /themes/ten-theme/modulews/news/search.tpl hãy mở nó lên, tìm dòng
Mã: Chọn hết
<!-- END: pages_viewpages -->
và thay lại thành
Mã: Chọn hết
<!-- END: pages_result -->


3.11) Nếu giao diện của bạn làm từ theme default (hoặc modern) hãy copy hai file viewdetailusers.tpl và memberslist.tpl trong thư mục /themes/defult(hoặc modern)/modules/users/ vào giao diện của bạn.

3.12) Nếu theme của bạn có file /themes/theme-cua-ban/modules/news/theme.php mở nó ra tìm

Mã: Chọn hết
function topic_theme( $topic_array, $topic_other_array, $generate_page )

Thay lại bằng
Mã: Chọn hết
function topic_theme( $topic_array, $topic_other_array, $generate_page, $page_title, $description )

Tìm
$xtpl = new XTemplate( "topic.tpl", NV_ROOTDIR . "/themes/" . $module_info['template'] . "/modules/" . $module_file );
Thêm vào bên dưới
Mã: Chọn hết
$xtpl->assign( 'TOPPIC_TITLE', $page_title );
$xtpl->assign( 'TOPPIC_LINK', NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&" . NV_NAME_VARIABLE . "=" . $module_name . "&" . NV_OP_VARIABLE . "=topic/" . $topicalias );
if( !empty( $description )){ $xtpl->assign( 'TOPPIC_DESCRIPTION', $description );
$xtpl->parse( 'main.topicdescription' ); }


4) Download file Upgrade_NukeViet_3.3.06.r1500_to_3.4.02.r1929.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.

13)
- Sau khi nâng cấp xong vào quản lý giao diện => thiết lập layout nhấp Lưu lại để hệ thống cập nhật giao diện mới cho chức năng xem danh sách thành viên.
- Từ r1841 hệ thống tạo thêm chức năng xem danh sách thành viên và đặt phân quyền ở mức quản trị được xem. Để thay đổi quyền xem, vào cấu hình module của module users và thay đổi giá trị đó thành Tất cả hoặc Quản trị hoặc Thành viên.

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=24964

P/S: Vá lỗi trang trắng khi sửa thông tin thành viên tại đây: viewtopic.php?f=150&t=25498
Sửa lần cuối bởi hoaquynhtim99 vào Ngày 18 Tháng 12 2012 , 22:24, với tổng số 3 lần sửa.
Nguyên nhân: bổ xung chú ý trước khi nâng cấp

Hãy sống là chính mình, bình thường nhưng không tầm thường.
#127300 gửi bởi hoaquynhtim99
Ngày 25 Tháng 10 2012 , 16:36
Nếu site của bạn không thuộc hai phiên bản đó thì hãy nâng cấp lên phiên bản thích hợp theo các hướng dẫn: viewforum.php?f=149

Không chịu đọc hả bạn? Nếu có đọc qua thì không chịu tìm hả bạn. Nó rõ rành rành ra đó.

Hãy sống là chính mình, bình thường nhưng không tầm thường.
#127303 gửi bởi hoaquynhtim99
Ngày 25 Tháng 10 2012 , 18:19
Chú ý, chủ đề này chỉ dành để thảo luận và xử lý những vấn đề nảy sinh trong quá trình nâng cấp như không nâng cấp được, nâng cấp xong thì hỏng site. Nếu đã nâng cấp thành công rồi thì hãy chuyển những vấn đề đó sang chủ đề báo lỗi NukeViet viewtopic.php?f=101&t=24964. Những bài viết không đúng nội dung sẽ bị xóa ngay lập tức

Hãy sống là chính mình, bình thường nhưng không tầm thường.
#127304 gửi bởi ltct
Ngày 25 Tháng 10 2012 , 18:41
Khi em nâng cấp từ NV 3.4.01 lên NV 3.4.02 và bị báo lỗi Không Thể Thêm description vào bảng modules và việc nâng cấp bi dừng tại đó không thể tiếp tục được nữa. Xin hỏi cách khắc phục lỗi này như thế nào a.?? Xin chân thành cám ơn rất nhiều.

http://www.dauantinhyeu.org/ The Official Of Dấu Ấn Tình Yêu http://www.dauantinhyeu.org/media/ Trang Nhạc Thánh Ca Karafun.
#127322 gửi bởi wanwule
Ngày 25 Tháng 10 2012 , 22:27
deadzombie đã viế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;


bạn đọc kĩ hướng dẫn trước khi dùng :D

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;
#127324 gửi bởi deadzombie
Ngày 25 Tháng 10 2012 , 22:39
wanwule đã viết:$global_config['gzip_method']

Đã thử và sửa lại nhưng kết quả vẫn là trang trắng bạn à. Thì mình làm y hướng dẫn đấy thôi, copy tất cả các file trong nukeviet upgrade vào thư mục gốc (ngang hàng với index) và vào quyền quản trị tối cao để upgrade nhưng kết quả là trang trắng.
#127325 gửi bởi Tuan0902454545
Ngày 25 Tháng 10 2012 , 22:46
Mình dùng phiên bản 3.4.01 r1775 - hệ thống không cho nâng cấp tự động. nhờ chỉ cách khắc phục.xin cảm ơn.
Đính kèm
(78.95 KB) Đã tải về 1.499 lần

Cảm ơn cộng đồng nukeviet.Chúc mọi người sức khoẻ và thành đạt.
#127326 gửi bởi hoaquynhtim99
Ngày 25 Tháng 10 2012 , 22:49
LTCT đã viết:Khi em nâng cấp từ NV 3.4.01 lên NV 3.4.02 và bị báo lỗi Không Thể Thêm description vào bảng modules và việc nâng cấp bi dừng tại đó không thể tiếp tục được nữa. Xin hỏi cách khắc phục lỗi này như thế nào a.?? Xin chân thành cám ơn rất nhiều.

Mở bảng nv3_vi_modules hoặc nv3_en_modules .. kiểm tra xem có trường mobile không?

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