프로그래밍 방식으로 여러 블록 만들기


9

Drupal 7 용 사용자 정의 모듈을 작성 중입니다. 모듈로 5 개의 다른 블록을 만들어야합니다. Drupal에는 블록을 생성 하는 hook_block_infohook_block_view후크가 있습니다. 이러한 후크가 모듈 당 하나의 블록 만 허용하므로 여러 블록을 추가하려면 어떻게해야합니까?

답변:


19

다음 코드가 도움이 될 것입니다. 5 개의 블록을 적절하게 추가해야하지만, 하나의 모듈에 여러 블록을 추가하는 방법 만 보여줄뿐입니다.

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;
}

이유 status => 1에서 hook_block_info()API 문서 :

status : (선택 사항) 블록 활성화 상태의 초기 값입니다. (1 = 활성화, 0 = 비활성화). 대부분의 모듈은 초기 값을 제공하지 않으며 블록 구성 화면에서 사용자가 제공 한 값을 수정할 수 있습니다.

모듈 아이디어 당 하나의 블록을 어디서 얻었는지 잘 모르겠습니다. 모듈에서 원하는만큼 블록을 만들 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.