Lập trình drupal - Làm việc với Block API

longt8x

New member
Block trong drupal được hiểu như một widget , là một gói nhỏ custom giúp cho coder tiết kiệm thời gian trong quá trình lập trình.
Đồng thời nó có thể được đặt theo một vị trí bất kì theo định nghĩa của hàm, Drupal cung cấp 2 hook chính là : hook_block_info() |thông tin của block khởi tạo , và hook_block_view() | Nơi block hiển thị khung nhìn bên ngoài.
Ta tạo folder block_example với 2 file bên trong là block_example.info và block_example.module
Ta thực hiện viết code cho block_example.info
Code:

;$Id$
name=Block view example
description=vi du ve block seodrupal.vn
package=7.x
version=7.x
files[]=block_example.module

Tiếp đó ta thực hiện thêm các hook_block vào trong file block_example.module
Code:

/**
* Implement hook_block_info().
*/
function block_example_block_info()
{
$blocks=array();//tao 1 mang chua block
$blocks['list_modules']=array(
'info'=>t('Danh sach cac module hien thi da kick hoat'),
'cache'=>DRUPAL_NO_CACHE,
);
return $blocks;
}

//tao view cho block
/**
* Implement hook_block_view().
*/
function block_example_block_view($block_name = '') {
if ($block_name == 'list_modules') {
$list = module_list();
$theme_args = array('items' => $list, 'type' => 'ol');
$content = theme('item_list', $theme_args);
$block = array(
'subject' => t('Module duoc kich hoat'),
'content' => $content,
);
return $block;
}
}

Sau khi thực hiện xong bạn kích hoạt modules và crun nó, tiếp theo bạn vào /structures/blocks/ và bạn tìm trong danh sách các module bị ẩn phía dưới cùng, bạn tìm đến tên module vừa tạo chọn vị trí sidebar_left, -> nhấn save.
Khi bạn quay lại trang chủ, bạn có thể nhìn thấy danh sách các modules được kích hoạt.

Cảm ơn các bạn đã dành thời gian, theo dõi nội dung này.
Bạn có thể xem thêm nhiều bài học tại
 
Back
Top