후크를 만드는 방법?


18

다른 Drupal 모듈이 활용할 수있는 내 Drupal 코어와 유사한 후크를 만들려면 어떻게해야합니까?

답변:


20

실제로 후크를 만들지는 않습니다. 당신은 같은 도우미 기능을 사용 module_invoke_all(), module_invoke()또는 drupal_alter()예상 이름 패턴과 일치하는 모든 기능을 호출 할 수 있습니다. 호출 된 함수는 일반적으로로 찾을 수 있습니다 module_implements().

후크가 작동하는 데 필요하지 않더라도 문서 주석이 포함 된MODULE.api.php스텁 hook_NAME 함수를 작성 하여 후크를 문서화하는 것이 가장 좋습니다 .


6
문서에 대해 +1, 그것은 Drupal 7의 새로운 코딩 표준이며 많은 contrib 모듈이 D6에도 사용하기 시작했습니다. 빈 함수 대신 해당 후크로 수행 할 수있는 작업을 보여주기 위해 예제 구현을 제공하는 것이 더 좋습니다.
Berdir

1
일반적으로 후크의 실제 구현이있는 경우 MODULE.api.php에 나열된 후크에 대한 코드를 제공합니다.
kiamlaluno

0

hook_trigger_info 를 사용하여 후크를 작성할 수 있으며 새 후크를 작성할 수 있으며 모듈에서이를 구현해야합니다. 예를 들어, 노드 아카이브를 작성하고 이전 노드를 넣으려고한다고 가정하십시오. 또한 아카이브 작업이 완료되면 후크를 트리거하려고합니다. 이 같은 것입니다

function hook_trigger_info() {
    return array(
            'node' => array(
                    'archive_nodes' => array(
                        'label' => t('Archive old nodes'),
                    )
            )
    );
} 

후크를 정의한 후 모듈은 module_invoke () 또는 module_invoke_all ()을 사용하여 후크 및 조치를 구현해야합니다 .

trigger노드 탭 아래에서 모듈이이 새 후크를 볼 수있게 할 수 있습니다 .

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