Viết block dành cho giao diện website

Thứ bảy - 21/04/2018 22:44
Hôm nay Web360do.vn sẽ hướng dẫn các bạn cách viết một block dành cho giao diện website trên nền tảng mã nguồn mở Nuke php. Với block này bạn có thể nhúng thêm code nhạc từ bên ngoài hay bất kỳ những gì bạn muốn. Nhưng trước tiên là để giải đáp một số câu hỏi của một số bạn đã bình luận trên blog của mình. Để không dài dòng văn tự mình đi vào vấn đề luôn
Viết block dành cho giao diện website

Block giao diện là block được đặt tại thư mục blocks nằm trong thư mục themes mà bạn đang sử dụng và nó gồm có 3 tập tin sau nhưng sẽ có 2 tập tin bắt buộc là php và tpl.

  • Tập tin có đuôi .ini nếu bạn thêm thiết lập cho block
  • Tập tin có đuôi .tpl
  • Tập tin có đuôi .php

Nhưng vì block bạn đính kèm từ trang nhạc hay nội dung nào đó mà không sử dụng cấu hình block thì mình sẽ bỏ qua tập tin .ini và chỉ hướng dẫn các bạn viết trên tập tin .tpl và .php.

Tập tin .php

Tập tin .php là tập tin chữa các đoạn mã bằng ngôn ngữ php để hệ thống nhận diện nó là block themevà trong tập tin này có những nội dung như sau.
 

<?php
/**
* @Project block
* @Author Web360do course (tuantmsh@gmail.com)
* @Copyright (C) 2018 Web360do.vn. All rights reserved
* @License GNU/GPL version 2 or any later version
* @Createdate Sun, 22 May 2018 12:41:32 GMT
*/
 

Đầu tập tin là thông tin của project, tác giả, bản quyền, licese, thời gian thực hiện.

Tiếp theo là khai báo với hệ thống mặc định nó là block với lệnh sau

 

if( ! defined( 'NV_MAINFILE' ) ) die( 'Stop!!!' );

Tiếp đến bạn khai báo tên block thông qua function. ví dụ ở đây mình khai báo function là nv_copyright với lệnh sau.
 

if( ! nv_function_exists( 'nv_copyright' ) )
{

// noi dung code nam trong day

}

if( ! nv_function_exists( 'nv_copyright' ) )
{
// noi dung code nam trong day
}

Để hiển thị ngoài site thì bạn truyền nó qua $content với lệnh sau
 
if( defined( 'NV_SYSTEM' ) )
{
     $content = nv_copyright( $block_config );
}

Với đoạn mã trong phần nv_copyright bạn viết nội dung như sau và mình comment nội dung trong đó luôn.
 
function nv_copyright( $block_config )
{
   global $global_config, $site_mods;
   // khai báo thư viện global cho block
   if( file_exists( NV_ROOTDIR . '/themes/' . $global_config['module_theme'] . '/blocks/global.copyright.tpl' ) )
   {
      $block_theme = $global_config['module_theme'];
   }
   elseif( file_exists( NV_ROOTDIR . '/themes/' . $global_config['site_theme'] . '/blocks/global.copyright.tpl' ) )
   {
      $block_theme = $global_config['site_theme'];
   }
   else
   {
      $block_theme = 'default';
   }
   $xtpl = new XTemplate( 'global.copyright.tpl', NV_ROOTDIR . '/themes/' . $block_theme . '/blocks' );
   // Đoạn này khai báo gọi tới file global.copyright.tpl nằm trong cùng thư mục với file php của block này.
   $xtpl->assign( 'NV_BASE_SITEURL', NV_BASE_SITEURL );
   //Khai báo NV_BASE_SITEURL để sử dụng trong file tpl
   $xtpl->assign( 'BLOCK_THEME', $block_theme );
   // Khai bao block_theme để sử dụng trong file tpl
   $xtpl->parse( 'main' );
   return $xtpl->text( 'main' );
}
 

Sau khi bạn viết xong đoạn code trên bạn chuyển qua file .tpl

Tập tin .tpl

Trong tập tin .tpl bạn điền đoạn mã khai báo bắt đầu và kết thúc sau đó điền nội dung bạn nhúng vào trong nó.

 



<!-- BEGIN: main -->

// nội dung bạn cần nhúng vô đây

<!-- END: main -->
1
2
3
4
5
<!-- BEGIN: main -->
// nội dung bạn cần nhúng vô đây
<!-- END: main -->
Như vậy là xong, sau khi viết xong bạn bật kéo thả block và thêm block giao diện này vào website là được. Chúc các bạn thành công
 

Tác giả bài viết: Trần Minh Tuấn

Liên hệ: 42/60/94, Hồ Đắc Di, Phường Tây Thạnh, Tân Phú, TP.HCM Hotline: 0903.177.877
Chú ý: Việc đăng lại bài viết trên ở website hoặc các phương tiện truyền thông khác mà không ghi rõ nguồn https://web360do.vn là vi phạm bản quyền

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

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

  Ý kiến bạn đọc