Chào mừng bạn đến vói vietvbb.vn. Hãy Đăng nhập hoặc Đăng Ký để tham gia thảo luận tại diễn đàn.



Results 1 to 6 of 6

Thread: Các biến trong VBB 3 và cách convert MOD lên VBB 4

  1. Các biến trong VBB 3 và cách convert MOD lên VBB 4 Detail »»

  2. Các biến trong VBB 3 và cách convert MOD lên VBB 4

    • achoo254's Avatar
    • achoo254
    • Vietvbb.vn's Coder
    • Coder
    • Join Date
      23 February 2012
      Location
      HN - HCM
      Posts
      242
      Thanks
      8
      Thanked 249 Times in 116 Posts
      Rep Power
      35
    Rating:  (0 votes - 0 average)
    1 - Biến trong VBB3

    Code:
    Biến thống kê site:
    
    * $totalthreads - Hiển thị tổng số Chủ đề trong diễn đàn.
    * $totalposts - Hiển thị tổng số bài viết trong diễn đàn.
    * $numbermembers - Hiển thị tổng số thành viên trong diễn đàn.
    * $totalonline - Hiển thị tổng số thành viên hiện tại đang online.
    * $numberregistered - Hiển thị tổng số thành viên đã đăng ký hiện tại đang online.
    * $numberguest - Hiển thị tổng số khách vãng lại hiện đang online.
    * $recordusers - Hiển thị số thành viên nhiều nhất đã từng online.
    * $recorddate - Hiển thị ngày có nhiều thành viên online nhất.
    * $recordtime - Hiển thị giờ có nhiều thành viên online nhất.
    * $activeusers - Hiển thị một danh sách các thành viên hiện đang online.
    * $activemembers - Hiển thị số thành viên tích cực trong diễn đàn.
    * $newusername - Hiển thị tên người dùng mới đăng ký.
    * $birthdays - Hiển thị danh sách người dùng có sinh nhật trong ngày.
    * $upcomingevents - Displays list of upcoming events(Cái này chưa hiểu nghĩa của nó lắm)
    
    $BBuserinfo Array, Thông tin về user:
    
    * $bbuserinfo[username] - Tên thành viên
    * $bbuserinfo[userid] - Lấy ID thành viên
    * $bbuserinfo[posts] - Số bài viết thành viên
    * $bbuserinfo[signature] - Chữ ký thành viên
    * $bbuserinfo[email] -Email thành viên
    * $bbuserinfo[homepage] - Trang chủ của thành viên( trong thông tin cá nhân)
    * $bbuserinfo[msn] - Địa chỉ MSN của thành viên
    * $bbuserinfo[yahoo] - "" Yahoo ""
    * $bbuserinfo[icq] - "" ICQ ""
    * $bbuserinfo[usertitle] - Tiêu đề thành viên
    
    $VBoptions Array, these are the options stored in the settings table, i.e things that you configured from vbulletin AdminCP>>vbulletin Options:
    
    * $vboptions[forumactive] - Status of whether forum is turned on/off
    * $vboptions[bbclosedreason] - Reason why forum turned off
    * $vboptions[bbtitle] - Forum title
    * $vboptions[bburl] - Forum URL
    * $vboptions[hometitle] - Site homepage Title
    * $vboptions[homeurl] - Site homepage URL
    * $vboptions[copyrighttext] - Site copyright text
    * $vboptions[privacyurl] - URL to forum privacy statement
    * $vboptions[webmasteremail] - Webmaster email address
    * $vboptions[contactuslink] - contact us URL
    * $vboptiions[enablehooks] - Status of plugin/hook system
    * $vboptions[imagetype] - Determine if using GD or Imagemagick
    * $vboptions[timeoffset] - forum time offset
    * $vboptions[cookiepath] - forum cookie path
    * $vboptions[legacypostbit] - Determine if using legacy (side) postbit or new horizontal postbit
    * $vboptions[use_smtp] - If SMTP mail is enabled
    * $vboptions[smtp_host] - SMTP hostname
    * $vboptions[smtp_port] - SMTP port number
    * $vboptions[allowregistrations] - Determine if new users can register
    * $vboptions[welcomemail] - Determine if welcome mail is sent on registration
    * $vboptions[avatarenabled] - Check if avatars are enabled
    * $vboptions[reputationenable] - Check if reputation system is enabled
    
    $stylevar Array, this contains all the paths to forum images and other style variables that are editable in the Styles and templates >> Stylevars:
    
    * $stylevar[titleimage] - Path/filename for top banner
    * $stylevar[outertablewidth] - The width of your forum
    * $stylevar[spacersize] - Spacing betwen main body and content
    * $stylevar[cellspacing] - Inner border width
    * $stylevar[cellpadding] Table cell padding
    * $stylevar[formwidth] - Form width in pixels
    * $stylevar[imgdir_buton] - Path for forum buttons
    * $stylevar[imgdir_statusicon] - Path for status icons
    * $stylevar[imgdir_attach] - Path for attachment icons
    
    Ad Location Template variables:
    
    * $ad_location[ad_footer_end] - Displays content of ad_footer_end template
    * $ad_location[ad_footer_start] - Displays content of ad_footer_start template
    * $ad_location[ad_forumdisplay_afterthreads] - Displays content of ad_forumdisplay_afterthreads template
    * $ad_location[ad_forumdisplay_afterforums] - Displays content of ad_forumdisplay_afterforums template
    * $ad_location[ad_header_logo] - Displays content of ad_header_logo template
    * $ad_location[ad_header_end] - Displays content of ad_header_end template
    * $ad_location[ad_navbar_below] - Displays content of ad_navbar_below template
    * $ad_location[ad_showthread_beforeqr] - Displays content of ad_showthread_beforeqr template
    * $ad_location[ad_showthread_firstpost] - Displays content of ad_showthread_firstpost template
    
    $css array, this is where all the CSS attributed can be located
    
    * $css variables[body][background] - Body background colour
    * $css[body][color] - Body text colour
    * $css[body][LINK_N][color] - Body normal links
    * $css[body][LINK_V][color] - Body visited links
    * $css[body][LINK_M][color] - Body link hover colour
    * $css[.page][background] - Page background colour
    * $css[.page][color] - Page text colour
    * $css[.tborder][background] - Table border background colour
    * $css[.tborder][color] - Table border font colour
    * $css[.tcat][background] - Category strip background/colour
    * $css[.tcat][color] - Category strip font colour
    * $css[.thead][background] - Table header background gradient/colour
    * $css[.thead][color] - Table header background colour
    * $css[.tfoot][background] - Table footer background colour/gradient
    * $css[.tfoot][color] - Table footer text colour
    2 - Biến trong VBB 4

    Đối với VBB 4.x.x các biến sử dụng tên mảng và các đối số tương tự vbb, có đôi chút khác về cấu trúc như sau:
    Code:
    - VBB 3: $tên_biến[giá_trị]
    
    - VBB 4: {vb:raw tên_biến.giá_trị}
    3 - Ví dụ:

    Đối với Địa chỉ trang chủ forum VBB:

    + Trong VBB 3:

    $vboptions[bburl]

    + Trong VBB 4:

    {vb:raw vboptions.bburl}

    4 - Chú ý:

    Đối với những biến tự định nghĩa (giá trị không thay đổi) thì sẽ có cấu trúc là:

    {vb:rawphrase tên_biến}

    5 - Các cấu trúc biến đã thay đổi trong VBB 4:

    a - Đối với các câu lệnh so sánh để hiển thị:

    Code:
    <if condition="$bbuserinfo[biến_1]>=$biến_2">$bbuserinfo[biến_1]/$biến_2</if><else />....
    Sửa thành:

    Code:
    <vb:if condition="$bbuserinfo[biến_1]>=$biến_2">{vb:raw $bbuserinfo[biến_1]}/{vb:raw biến_2}</vb:if> <vb:else />....
    b - Đối với câu lệnh so sánh có biến được định nghĩa là template trong file XML:

    Code:
    <if condition="$userinfo[biến_template]==0">...</if>
    Sửa thành:

    Code:
    <vb:if condition="$bbuserinfo[biến_template]==0">
    c - Đối với cách tạo template trong file XML:

    Ngay phía dưới khi kết thúc thẻ </templates> thêm đoạn code sau:

    Code:
    <plugins><plugin active="1" executionorder="5">
    <title>HSVFORUM - Cache Templates</title>
    <hookname>cache_templates</hookname>
    <phpcode><=!=[=C=D=A=T=A=[$globaltemplates[] = 'biến_template';]=]=></phpcode>
    </plugin>
    Code tạo template và gọi nó để hiển thị của VBB 3 sẽ có dạng:

    Code:
    eval('$biến_muốn_hiển_thị_template= "' . fetch_template('biến_template', 0, false) . '";');
    Sửa thành:

    Code:
    $templater = vB_Template::create('biến_template');
    $templater->register('tham_số_nếu_có', $tham_số_nếu_có);
    $ad_location['biến_muốn_hiển_thị_template'] .= $templater->render();
    Như vậy ta có thể chèn biến nơi muốn hiển thị của template này:

    Code:
    {vb:raw ad_location.biến_muốn_hiển_thị_template}
    d - Đối với cách tùy chọn MOD muốn tự động hoặc chèn thủ công template trong file XML:

    Từ đoạn code tạo template ở bước C, ta thay đổi như sau:

    Code:
    $templater = vB_Template::create('biến_template');
    $templater->register('tham_số_nếu_có', $tham_số_nếu_có);
    if($vbulletin->options['enable_biến_template_place'])    {
            $template_hook[forumhome_wgo_pos2].=$templater->render();
    //template sẽ tự động chèn dưới Who's Online
        }
        else
            {
                $ad_location['biến_muốn_hiển_thị_template'] .= $templater->render();
    //template chèn thủ công bằng biến {vb:raw ad_location.biến_muốn_hiển_thị_template}
            }
        }
    Tìm tiếp:

    Code:
    <phrasetype name="vBulletin Settings" fieldname="vbsettings">
    Chèn ngay phía dưới nó:

    Code:
    <phrase name="setting_enable_biến_template_place_desc" date="1340541530" username="achoo254" version="1">
    <![CDATA[Tu dong chen bien hien thi‹ duoi FORUMHOME - ai dang online.
    Neu muon chen cho khac, chon NO va chen code duoi day vao noi muon hien thi.
    <br /><TEXTAREA ROWS="2" COLS="50">
    {vb:raw ad_location.biến_muốn_hiển_thị_template}</TEXTAREA>]]></phrase>
    Tìm tiếp:

    Code:
    <settinggroup name="biến_template" displayorder="630">
    Chèn đoạn code dưới ngay phía sau nó:

    Code:
    <setting varname="enable_biến_template_place" displayorder="30">                <datatype>free</datatype>
                    <optioncode>yesno</optioncode>
                    <defaultvalue>1</defaultvalue>
                </setting>
    <!--Update ngày 03/10/2012 cho cách convert file xml-->
    Muốn thay các biến của VBB3 dạng:
    Code:
    {$biến['tham_số']}
    Trong file xml:
    Code:
    <phrasetype>biến_hiển_thị_trong_phrase = blah blah $biến['tham_số'] blah blah</phrasetype>
    Làm theo cách sau:
    1. Mở file *.php hoặc *.xml (có chứa biến in ra đoạn phrase trên) tìm:
    Code:
    print_standard_redirect(....biến_hiển_thị_trong_phrase....)
    2. Thay cấu trúc bằng:
    PHP Code:
    eval(print_standard_redirect(array('biến_hiển_thị_trong_phrase'$biến['tham_số']))); 
    3. Bây giờ trong file xml, ta sẽ thay đổi các $biến['tham_số'] thành {1}. Thêm cấu trúc như trên với nhiều biến:
    PHP Code:
    eval(print_standard_redirect(array('biến_hiển_thị_trong_phrase'$biến1['tham_số1'],$biến2['tham_số2']))); 
    4. Thay bằng:
    Code:
    <phrasetype>biến_hiển_thị_trong_phrase = blah blah {1} {2} blah blah</phrasetype>
    <!--Update ngày 03/10/2012 cho cách convert file php-->
    Khi lỗi convert không hiển thị đầy đủ header, navbar thì làm như sau:

    Mở file *.php hoặc *.xml (có chứa biến eval(..hiển thị template...) thay:
    PHP Code:
    $navbits construct_navbits($navbits);
      eval(
    '$navbar = "' fetch_template('navbar') . '";'); 
    Bằng:
    PHP Code:
     $navbits construct_navbits(array('' => 'IShop convert by achoo254'));  
        
    $navbar render_navbar_template($navbits);
    $templater->register_page_templates();
    $templater->register('navbar'$navbar); 
    <!-- Update ngày 5/10/2012 -->
    1. Cách lấy giá trị trong ckeditor khi parse ra bất cứ đâu:
    File xml VBB3 sẽ có dạng:
    Code:
    $parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
    
    $message=fetch_word_wrapped_string($parser->parse_bbcode($parser->parse_smilies($getnew_bit['message'], false),false),10,' ');
    Thay thế bằng:
    Code:
    $parser =& new vB_BbCodeParser($GLOBALS['vbulletin'], fetch_tag_list(),true);
    
    $message=$parser->do_parse($getnew_bit['message'],true,true, true);
    2. Ngoài ra trong file PHP sẽ có dạng này để truyền dữ liệu từ ckeditor vào database:
    Code:
    require_once(DIR . '/includes/functions_wysiwyg.php');
                $message = convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message']);
    VBB4 không có file functions_wysiwyg.php, vì vậy ta copy luôn từ VBB3 sang cho VBB4 là được.

    <!--Update ngày 26/10/2012-->
    Với hookname cache_templates trong file XML của VBB3 nếu có dạng:
    Code:
    $globaltemplates = array_merge($globaltemplates....
    Như vậy khi hiển thị nó sẽ báo lỗi kiểu dạng:
    Code:
    Warning: array_merge() [function.array-merge]: Argument #1 is not an array in [path]/includes/class_bootstrap.php(1353)
    Để sửa lỗi đó ta thay thế bằng:
    Code:
    $cache= array_merge($cache....
    Nguồn: Hướng Dẫn Các biến trong VBB 3 và cách convert lên VBB 4
    Last edited by achoo254; 27 October 2012 at 06:49 PM.
    Nhận cài đặt, sửa chữa,chống hack - spam, code mod... về VBB4
    YH: thieu_gia1587
    SĐT: 0939.666.884

  3. The Following 6 Users Say Thank You to achoo254 For This Useful Post:

    Cua Rang Me (6 December 2012),Nguyễn Bảo Ngọc (28 October 2012),ngvcanh (17 August 2013),ph4mduc4n (27 October 2013),Quân Đ.z (14 March 2013),tinvip98 (21 September 2012)

  4. Comments

  5. #2
    Join Date
    23 February 2012
    Location
    HN - HCM
    Posts
    242
    Thanks
    8
    Thanked 249 Times in 116 Posts
    Rep Power
    35
    Update ngày 27/10/2012.
    Nhận cài đặt, sửa chữa,chống hack - spam, code mod... về VBB4
    YH: thieu_gia1587
    SĐT: 0939.666.884

  6. #3
    Join Date
    21 June 2009
    Location
    Hải Duơng
    Posts
    340
    Thanks
    37
    Thanked 102 Times in 87 Posts
    Rep Power
    25
    Bài bổ ích nhưng không xôm lắm thì phải ... Up top
    Nhận làm web, thiết kế theo yêu cầu : Yahoo :kut3_2q

  7. #4
    Join Date
    18 December 2008
    Location
    Hà Nội, Việt Nam
    Posts
    2.989
    Thanks
    90
    Thanked 1.239 Times in 781 Posts
    Rep Power
    190
    ứ biết biến nó là cái gì luôn cái này ăn dc ko

  8. #5
    Join Date
    24 September 2012
    Location
    A, A
    Age
    30
    Posts
    863
    Thanks
    334
    Thanked 234 Times in 218 Posts
    Rep Power
    39
    Hay quá nhờ đọc cái này làm được vài cái
    http://tanphuclub.com | YH: Ken230389 | Skype: ngvcanh.ken | FB: /nvc.ken | SĐT: 0979714412 | Twitter: /ngvcanh | Ask: /nvcken | Zing: /ngvcanh89 | G+: /+CảnhNguyễnVănken

  9. #6
    Join Date
    11 April 2019
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    1
    cái nfay cũng hay, cứ vậy mà làm
    otohanoigiare.com



Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. [HELP] Hỏi cách lấy biến thread.views ra CMS
    By pokemon in forum vB4 Thảo Luận Chung
    Replies: 6
    Last Post: 2 April 2013, 07:54 PM
  2. Các biến WebServer trong PHP
    By [v2b]®SiêuNoopy™ in forum Programming Articles
    Replies: 0
    Last Post: 8 July 2009, 09:56 PM
  3. [HELP] cách sử dụng biến trong vbb
    By phuclorddn in forum vB3 Thảo Luận Chung
    Replies: 6
    Last Post: 12 June 2009, 06:54 PM
  4. [HELP] thêm biến trong css main
    By constructor_87 in forum vB3 Thiết Kế Giao Diện
    Replies: 1
    Last Post: 8 December 2008, 02:56 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •