새로운 모듈이 제대로 작동하는 데 필요한 최소 버전의 Drupal 7에 종속되도록하려면 어떻게해야합니까?


10

새로운 모듈을 개발 중입니다 (아직 사용중인 사이트가 없습니다). hook_taxonomy_term_view()Drupal 코어 버전 7.17에 도입 된 후크를 사용하므로 특정 Drupal 버전이 필요합니다 .

예를 들어 Drupal 7.16 또는 이전 버전의 Drupal 코어를 사용하여 사이트에서 모듈을 사용하지 않으려 고합니다. 7.17 이상의 상위 버전의 Drupal은 괜찮습니다.

내 질문 : 모듈이 Drupal 7.17 버전에 종속되도록하려면 어떻게해야합니까?

참고 : 모듈이 이미 설치된 사이트에 대한 솔루션이 필요하지 않습니다 (걱정할 필요가 없습니다). 따라서 7.17 이전의 Drupal 버전에서는이를 비활성화 할 필요가 없습니다.


내 코드에서 사용해야 할 후크에 관한 질문이므로 후크 에 태그가 지정 됩니다. 후크 는 내가 사용할 수있는 후크를 찾고 있다는 의미는 아닙니다. Drupal 7.17 이상을 사용하지 않는 사이트에 모듈이 설치되는 것을 피할 수있는 모든 솔루션을 사용할 수 있습니다.
kiamlaluno

다른 모듈의 마이너 버전이 필요할 수 dependencies[] = mymodule (1.12)있지만 코어에서는 작동하지 않는 것 같습니다.
AyeshK

@AyeshK 어! 항상 활성화되어있는 Drupal 코어 모듈을 알려 주시면 흥미로울 것입니다.
kiamlaluno

나는 그것을 시도 dependencies[] = taxonomy (>7.17)하고 다른 가능한 버전 번호가 있지만 작동하지 않았다.
AyeshK

답변:


11

비결은 분명히 다음과 같은 시스템 모듈을 사용하는 것입니다.

dependencies[] = system (>=7.17)

4
이것이 맞습니다. 출처 : dww와 나는 버전 의존성 검사기를 썼습니다. 나는에 이것에 대해 블로그에 drupal4hu.com/node/274 지금에 관련 핸드북 페이지에 추가 drupal.org/node/542202 뿐만 아니라.

7

hook_requirements() 정확히 그런 종류의 목적으로 존재합니다.

설치 요구 사항을 확인하고 상태보고를 수행하십시오.

당신은 확인할 수 있습니다 $phase모듈이 설치되는 경우 결정하는 매개 변수를 사용자의 필요한 버전에 대해 현재 드루팔 버전을 확인하고 심각도를 반환합니다 REQUIREMENT_ERROR. 그러면 요구 사항이 충족 될 때까지 모듈이 설치되지 않습니다.

설명서는 매우 철저합니다. 여기서 언급 할 가치가있는 것은 모듈의 .install 파일에서 후크를 구현해야한다는 것입니다.


이것이 왜 그렇게 많이지지되는지 잘 모르겠습니다.

@chx 나는 그것을 당신의 말로 받아 들일 것이다. 그러나이 경우 "설치 요구 사항을 확인하고 상태보고를한다" 기능에 대한 설명 . 다소 오해의 소지가 있습니까? 우리는 결국 설치시 모듈 요구 사항을 확인하는 것에 대해 구체적으로 이야기하고 있습니다 :)
Clive

1
@Chapabu 문서에 따르지 않음 :) 모듈에 대해 구체적으로 이야기하고 기본적으로 해당 후크를 사용 REQUIREMENT_ERROR하여 요구 사항이 실패하면 모듈이 설치되지 않았는지 확인하기 위해 돌아갑니다 . Drupal 버전을 확인하는 것이 유효한 유스 케이스 라고 생각했지만 (문서는 그렇지 않은 것을 언급 하지 않았습니다 ) 뭔가 빠진 것 같습니다. 연습이 잘못되었거나 내가 몰랐을 수도있다
Clive

1
@Clive Weird, 그때부터 그것을 얻은 던노. 어쩌면 D8은 단지 문서 업그레이드 일 것입니다 ;-)
Chapabu

1
@ chx 당신은 나의 무지를 변명해야 할 것입니다.이 전에는 결코하지 않았습니다 ... 문제가 D8에 반대하고 백 포트됩니까? 귀하의 의견으로는 전체 텍스트를 변경해야합니까, 아니면이 후크를 사용하여 모듈 / 코어 버전을 확인하지 않고 라이브러리 요구 사항 만 확인했습니다 (언급 한 문서에 대한 링크 포함)라는 메모가 필요합니까? 감사합니다
Clive

2

hook_enabled를 사용할 수 있습니다

모듈이 설치된 후에 발생합니다. 설치된 drupal의 버전을 확인할 수 있으며 올바른 버전이 아닌 경우 module_disable 을 사용 하고 필요한 오류 메시지를 제공하십시오.

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