it-swarm-ko.tech

Drupal 다른 위치에서 모듈을 찾도록 구성 할 수 있습니까?

사이트/모든/모듈에 모듈을 넣었습니다. 다른 위치에서도 더 많은 모듈을 찾도록 Drupal)을 구성하는 방법이 있습니까?


편집

나는 가상 호스트를 자주 사용하지만 설명 된 방식으로 사용하지는 않습니다. 내가 익숙한 형식은 다음과 같으며 전체 작업 프로젝트를 www가 아닌 ​​다른 곳에 배치하는 데 도움이됩니다.

<VirtualHost *:80>
    ServerName testdrupal.com
    DocumentRoot "C:/proj/testdrupal"
    ServerAlias testdrupal.com

   <Directory "C:/proj/testdrupal/">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

나는 당신이 묘사하는 것이 뭔가 다른 것 같아요? 평소와 같이 drupal 폴더를 www 안에 남겨 두려고하지만 사이트/모든/모듈 만 다른 위치로 이동하려고하지만 VHost 항목이 어떻게 보이는지 여전히 알 수 없습니다 내가 C :/proj/testdrupal로 옮기고 싶다고하자 나는 당신을 완전히 오해하지 않기를 바란다.

13
sameold

대답하기 전에 Drupal이 모듈을 찾는 방법에 대해 약간의 배경 지식이 있으면 도움이됩니다. Drupal은 Drupal 루트의 제안 목록을 사용하여 모듈을 찾을 위치를 찾습니다. 우선 순위에 따라 :

  1. sites/$SITENAME/modules
  2. sites/all/modules
  3. profiles/$INSTALLPROFILE/modules
  4. modules

Drupal이 (1) 에서 모듈을 찾지 못하면 (2 ) . 없는 경우 (3) 등을 확인합니다.

(1) 의 경우 Drupal의 기본 단일 사이트 설치 만 사용하는 경우 $SITENAMEdefault. 그렇지 않으면:

  • Drupal 6에서 $SITENAME는 사이트의 호스트 이름입니다. 사이트가 example.com에 있으면 $SITENAMEexample.com입니다.
  • Drupal 7에서 $SITENAMEsites/sites.php에 정의되어 있습니다. example.sites.php 를 보면 정의하는 방법을 볼 수 있습니다. 또한 나열된 모든 모듈은 모든 사이트가 아니라 특정 사이트에만 사용할 수 있다는 점에 유의해야합니다.

(2) 에서 Drupal 설치의 모든 사이트에서 해당 모듈을 사용할 수 있음을 발견했습니다. 코어 설치를 업그레이드 할 때도 그대로 유지됩니다. 물론 이것은 모듈을 놓을 것을 권장하는 장소이며, 읽은 모든 문서는 모듈을 여기에 넣으라고 지시했을 것입니다.

(3) 은 특정 모듈이 필요한 설치 프로필 에 사용됩니다. 설치 프로필은 기본적으로 Drupal 사이트에 대한 사용자 지정 초기 상태를 정의하는 방법입니다. 예를 들어, Drupal에는 두 가지 설치 프로파일이 내장되어 있습니다. 가장 많이 사용되는 기능이 포함 된 Standard와 Drupal 사이트가 작동하는 데 필요한 최소값 만 포함하는 최소입니다.

(4) 는 Drupal 코어에서 사용됩니다. 여기에 기술적으로 모듈을 추가 할 수 있지만 모든 사이트에서 사용할 수 있지만 그렇지 않아야합니다. 심각하게. Drupal 코어가 업데이트 될 때 modules 폴더를 건 드리면 필요한 모듈을 고수 할 때 회선이 다운 될 수 있습니다 거기에 기능하는 사이트.


이제 배경이 어려워 졌으므로 파일 시스템 트릭을 사용하여 Drupal이 보이는 외부에 모듈을 보관할 수 있습니다.

예를 들어, 기호 링크sites/all/modules에서 Drupal 설치 외부의 다른 디렉토리로 설정할 수 있습니다.

  • 유닉스/리눅스/BSD 기반 시스템에서 : ln -s /path/to/modules/folder /path/to/drupal/sites/all/modules
  • Windows Vista/Server 2008/7 이상 : mklink C:\path\to\drupal\sites\all\modules C:\path\to\custom\modules\folder

내가 아는 한, mklink 가없는 이전 버전의 Windows에서는 할 수있는 일이 많지 않습니다.

14
user7

Drupal 7에서 Drupal 위치를 나타내는 디렉토리는 다음과 같습니다.)

  • 모듈
  • 프로필/$ 프로필/모듈
  • $ config/모듈

$ profile은 drupal_get_profile () 에서 반환 된 값입니다. $ config는 conf_path () 에서 반환 된 값입니다.
시스템 객체 파일 (모듈, 테마 등)을 검색하는 기능은 drupal_system_listing () 입니다.

Drupal 6에서 동일한 디렉토리를 찾습니다. 유일한 차이점은 $ profile이 전역 변수라는 것입니다. 전역 변수가 설정되지 않은 경우 함수는 "install_profile"값을 가져옵니다. 지속 변수. 기본값은 "default"입니다.

3
kiamlaluno

사이트/모두/모듈에 배치 한 다음 모든 사이트 (다중 사이트 구성이있는 경우), 기본 사이트의 사이트/기본/모듈 또는 sites/site.com/modules에서 사용할 수 있습니다. 당신은 그것을 가지고 있습니다. 후자의 디렉토리의 경우 이는 해당 특정 사이트에서만 사용할 수 있음을 의미합니다.

또한 원하는 폴더 아래에 원하는대로 구성 할 수 있습니다. 즉, 하위 폴더를 만들 수 있습니다. 일반적인 작업은 contrib 폴더를 만든 다음 해당 사이트의 자체 작성 모듈을 사용자 지정 폴더에 유지하면서 d.o에서 다운로드 한 모듈을 해당 위치에 배치하는 것입니다.

2
Berdir

무슨 뜻인지 잘 모르겠지만 타사 모듈과 사내 모듈을 분리하는 다소 일반적인 규칙을 사용합니다.

'집에서 만든'사용자 정의 모듈은 다음과 같습니다.

사이트/모든/모듈/사용자 정의

타사 모듈은 다음과 같습니다.

사이트/모든/모듈/공급 업체

하위 디렉토리가 필요에 맞지 않으면/obscure/path/to/module 디렉토리를 drupal의 모듈 디렉토리에 쉽게 연결할 수 있다고 생각합니다.

1
stefgosselin