Nội quy chuyên mục: - Khu vực này chỉ dành cho việc phát triển các theme và các tính năng mới cho hệ thống.
- Tên topic chính là tên Theme. Không được đặt tên Theme trùng với Block, Module, Theme đã có.
- Các thảo luận cho theme nào phải được gửi ngay tại topic mà người đầu tiên gửi nó lên.
- Vui lòng không gửi câu hỏi và các yêu cầu trợ giúp tại đây. Topic vi phạm nội quy sẽ bị xóa ngay lập tức!
#102513 gửi bởi vuthao
Ngày 27 Tháng 11 2011 , 05:38
Nâng cấp theme NV3.2 lên NV3.3RC3

ghi chú: my_theme: là tên thư mục chưa giao diện của bạn

1) Chỉnh sửa file themes/my_theme/layout/header.tpl
Tìm và xóa dòng:
Mã: Chọn hết
{THEME_MY_HEAD}


Tìm dòng
Mã: Chọn hết
{THEME_ERROR_INFO}

Thay bằng
Mã: Chọn hết
[THEME_ERROR_INFO]


2) Chỉnh sửa file themes/my_theme/layout/footer.tpl
Tìm và xóa các đoạn sau:
Mã: Chọn hết
<!-- BEGIN: for_admin -->
<p class="show_query">
{CLICK_SHOW_QUERIES}
</p>
<div id="div_hide" style="visibility: hidden; display: none;">
{SHOW_QUERIES_FOR_ADMIN}
</div>
<!-- END: for_admin -->

---------------------------------------------------------
Mã: Chọn hết
{THEME_ADMIN_MENU}
{THEME_MY_FOOTER}
{THEME_FOOTER_JS}


3) Chỉnh sửa file themes/my_theme/theme.php

trong function nv_site_theme (Xóa đoạn $nv_array_block_contents,)

Mã: Chọn hết
global $home, $array_mod_title, $lang_global, $language_array, $global_config, $site_mods, $module_name, $module_info, $op, $db, $mod_title, $my_head, $my_footer, $nv_array_block_contents, $client_info, $db_config;


Sửa thành

Mã: Chọn hết
global $home, $array_mod_title, $lang_global, $language_array, $global_config, $site_mods, $module_name, $module_info, $op, $db, $mod_title, $my_head, $my_footer, $client_info, $db_config;

---------------------------------------------------------
Tìm đến dòng
Mã: Chọn hết
if ( ! file_exists( NV_ROOTDIR . "/themes/" . $global_config['module_theme'] . "/layout/layout." . $module_info['funcs'][$op]['layout'] . ".tpl" ) )


Sửa thành
Mã: Chọn hết
if ( ! file_exists( NV_ROOTDIR . "/themes/" . $global_config['module_theme'] . "/layout/layout." . $module_info['layout_funcs'][$op] . ".tpl" ) )

---------------------------------------------------------
Tìm đến dòng
Mã: Chọn hết
$xtpl = new XTemplate( "layout." . $module_info['funcs'][$op]['layout'] . ".tpl", NV_ROOTDIR . "/themes/" . $global_config['module_theme'] . "/layout/" );


Sửa thành:
Mã: Chọn hết
$xtpl = new XTemplate( "layout." . $module_info['layout_funcs'][$op] . ".tpl", NV_ROOTDIR . "/themes/" . $global_config['module_theme'] . "/layout/" );


---------------------------------------------------------

Tìm và xóa các đoạn sau:

Mã: Chọn hết
if ( $my_head ) $xtpl->assign( 'THEME_MY_HEAD', $my_head );


Mã: Chọn hết
$xtpl->assign( 'THEME_FOOTER_JS', $theme_footer_js );
if ( $my_footer ) $xtpl->assign( 'THEME_MY_FOOTER', $my_footer );


Mã: Chọn hết
if ( defined( 'NV_IS_ADMIN' ) )
{
$xtpl->assign( 'THEME_ADMIN_MENU', nv_admin_menu() );
$end_time = array_sum( explode( " ", microtime() ) );
$total_time = substr( ( $end_time - NV_START_TIME + $db->time ), 0, 5 );
$theme_click_show_queries = "";
if ( defined( 'NV_IS_SPADMIN' ) )
{
$show_queries = " <a href=\"#queries\" onclick=\"nv_show_hidden('div_hide',2);\">" . $lang_global['show_queries'] . "</a>";
$theme_click_show_queries = $lang_global['db_num_queries'] . ": " . count( $db->query_strs ) . " / " . $total_time . "'." . $show_queries . "<br />\n";
}
$xtpl->assign( 'CLICK_SHOW_QUERIES', $theme_click_show_queries );
$xtpl->assign( 'SHOW_QUERIES_FOR_ADMIN', nv_show_queries_for_admin() );
$xtpl->parse( 'main.for_admin' );
}


Mã: Chọn hết
$xtpl->assign( 'THEME_ERROR_INFO', nv_error_info() );


Mã: Chọn hết
foreach ( $nv_array_block_contents as $position => $blcontent )
{
$sitecontent = str_replace( $position, $blcontent, $sitecontent );
}


Tìm đến dòng sau:
Mã: Chọn hết
$sitecontent = $xtpl->text( 'main' );

Thêm xuống dưới đoạn sau
Mã: Chọn hết

$sitecontent = nv_blocks_content($sitecontent);
$sitecontent = str_replace( '[THEME_ERROR_INFO]', nv_error_info(), $sitecontent );

$my_footer = $theme_footer_js . $my_footer;
if ( defined( 'NV_IS_ADMIN' ) )
{
$my_footer = nv_admin_menu() . $my_footer;
}
if ( ! empty( $my_head ) ) $sitecontent = preg_replace( '/(<\/head>)/i', $my_head . "\\1", $sitecontent, 1 );
if ( ! empty( $my_footer ) ) $sitecontent = preg_replace( '/(<\/body>)/i', $my_footer . "\\1", $sitecontent, 1 );

---------------------
Tìm đến dòng
Mã: Chọn hết
echo $sitecontent;

Nếu có thay bằng
Mã: Chọn hết
return $sitecontent;


4) Nếu theme của bạn có file themes\my_theme\modules\contact\form.tpl
tìm đến dòng:
Mã: Chọn hết
<option value="{SELECT_VALUE}">{SELECT_NAME}</option>

Thay bằng:
Mã: Chọn hết
<option value="{SELECT_VALUE}" {SELECTED}>{SELECT_NAME}</option>


5) Nếu theme của bạn có file themes\my_theme\modules\download\upload.tpl
Tìm đến đoạn
Mã: Chọn hết
<dl class="clearfix">
<dd class="fl" style="vertical-align:top">
<label>
{LANG.upload_files}<br />
(<em>{LANG.upload_valid_ext_info}: {EXT_ALLOWED}</em>)
</label>
</dd>
<dt class="fl">
<input type="file" class="txt" name="upload_fileupload" id="upload_fileupload" />
</dt>
</dl>

Thêm lên đầu đoạn đó dòng
Mã: Chọn hết
<!-- BEGIN: is_upload_allow -->

Thên xuống cuối đoạn đó dòng
Mã: Chọn hết
<!-- END: is_upload_allow -->


6) Nếu theme của bạn có file themes\my_theme\modules\news\search.tpl
tìm đến đoạn:
Mã: Chọn hết
http://www.google.com.vn/custom


Sửa thành:
Mã: Chọn hết
http://www.google.com/search


7) Nếu theme của bạn có file themes\my_theme\modules\news\block_newscenter.tpl
tìm đến đoạn:
Mã: Chọn hết
{main.homeimgfile}

Nếu có sửa thành:
Mã: Chọn hết
{main.imgsource}


8 ) Nếu theme của bạn có file themes\my_theme\modules\search\form.tpl
tìm đến đoạn:
Mã: Chọn hết
http://www.google.com/cse


Sửa thành:
Mã: Chọn hết
http://www.google.com/search


Nếu giao diện của bạn là nukeviet 3.1 cần chỉnh sửa tiếp theo hướng dẫn: viewtopic.php?f=128&t=20086#p101022
#102515 gửi bởi vanlang
Ngày 27 Tháng 11 2011 , 06:07
Cám ơn anh. Nhưng anh ơi em tìm trong file: themes\my_theme\modules\news\block_newscenter.tpl
không có đoạn:
Mã: Chọn hết
{main.homeimgfile}

mà chỉ có đoạn:
Mã: Chọn hết
{main.hometext}
thôi.
sau khi làm các bước như anh HD cuối cùng cài đặt theme tự động thì lỗi trang trắng anh ạ. Anh giúp em nhé! Cám ơn anh!
#102524 gửi bởi ng0cminh
Ngày 27 Tháng 11 2011 , 07:40
Cho em hỏi là em nâng cấp từ 3.2 lên 3.3rc thì theme dùng được, nhưng mà dùng mã nguồn 3.3 thì vẫn cái theme đó nó không hiện lên phần module content các phần khác vẫn được vậy phải xử lý sao ạ?

Blog cá nhân http://ngocminh.info
#103916 gửi bởi ctp
Ngày 07 Tháng 12 2011 , 12:48
Sửa như hướng dẫn .nhưng nó báo lỗi là :Lỗi xử lý giao diện
Lỗi, hệ thống không tồn tại giao diện, bạn cần liên hệ với quản trị site để sửa lại.
Theme này mình làm theo ebook hướng dẫn làm theme trên diễn đàn . Với bản nukeviet3.2 thì dùng ngon lành còn nukeviet3.3 thì bị như vậy.Mong vuthao giải đáp dùm.Thanks !!!! ~O)
#104020 gửi bởi vanlang
Ngày 08 Tháng 12 2011 , 04:52
ctp đã viết:Sửa như hướng dẫn .nhưng nó báo lỗi là :Lỗi xử lý giao diện
Lỗi, hệ thống không tồn tại giao diện, bạn cần liên hệ với quản trị site để sửa lại.
Theme này mình làm theo ebook hướng dẫn làm theme trên diễn đàn . Với bản nukeviet3.2 thì dùng ngon lành còn nukeviet3.3 thì bị như vậy.Mong vuthao giải đáp dùm.Thanks !!!! ~O)

Hãy tranh thủ thời gian giúp đội code một tay để có những sản phẩm tốt cho phiên bản NV3.3. Đồng thời tránh làm mất thời gian cho những nhà ríp theme.
Bạn nào đang khó khăn về nâng cấp theme thì hãy share tất các các theme NV3.2 lên mình sẽ giúp. Trong vòng 5 phút là xong, không kể thời gian down, up và đóng gói theme.
#105375 gửi bởi nobitaleloi
Ngày 21 Tháng 12 2011 , 02:27
E có cái theme Tin Phat shop + tin tuc.E đã làm theo các bước trên thì bị lỗi giao diện màn hình trắng.Các a RIP giúp e lên 3.3 đi.E còn gà.WEb
hiện tại www.ongba8.com :( mà k đẹp lắm
http://www.mediafire.com/?20frhr24qmny0hn