Tạo nhiều khối lập trình


9

Tôi đang viết một mô-đun tùy chỉnh cho Drupal 7. Tôi cần tạo 5 khối khác nhau với mô-đun. Drupal có hook_block_infohook_block_viewmóc tạo ra các khối. Làm cách nào tôi có thể thêm nhiều khối vì các móc này chỉ cho phép một khối cho mỗi mô-đun?

Câu trả lời:


19

Các mã sau đây sẽ giúp. Rõ ràng bạn sẽ cần thêm 5 khối của mình cho phù hợp, nhưng đó chỉ là để cho thấy cách bạn có thể thêm nhiều khối trong một mô-đun:

function MYMODULE_block_info() {
 $blocks = array();
 $blocks['myfirstblock'] = array(
   'info' => t('My block admin info'),
   'status' => 1,
 );
 $blocks['mysecondblock'] = array(
   'info' => t('My second block admin info'),
   'status' => 1,
 );

 return $blocks;
}

function MYMODULE_block_view($delta = '') {
  $block = array();

  switch ($delta) {
    case 'myfirstblock':
      $block = array(
        'subject' => t('My first block title'),
        'content' => t('My first block content'),
      );
      break;
    case 'mysecondblock':
      $block = array(
        'subject' => t('My second block title'),
        'content' => t('My second block content'),
      );
      break;
  }

  return $block;
}

Lý do status => 1từ hook_block_info()các tài liệu API:

trạng thái: (tùy chọn) Giá trị ban đầu cho trạng thái kích hoạt khối. (1 = đã bật, 0 = bị tắt). Hầu hết các mô-đun không cung cấp giá trị ban đầu và bất kỳ giá trị nào được cung cấp có thể được sửa đổi bởi người dùng trên màn hình cấu hình khối.

Tôi không chắc chắn nơi bạn có một khối cho mỗi ý tưởng mô-đun. Bạn có thể tạo bao nhiêu khối tùy thích trong một mô-đun.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.