모듈 컨텍스트 내에서 현재 사용자가로드 할 테마를 어떻게 결정할 수 있습니까?현재 Drupal 테마를 검색 하시겠습니까?
drupal_get_path
path_to_theme
테마의 template.php에서만 작동하는 것으로 보이지 않으므로이 두 가지가 좋지 않습니다.
모듈 컨텍스트 내에서 현재 사용자가로드 할 테마를 어떻게 결정할 수 있습니까?현재 Drupal 테마를 검색 하시겠습니까?
drupal_get_path
path_to_theme
테마의 template.php에서만 작동하는 것으로 보이지 않으므로이 두 가지가 좋지 않습니다.
사용자가 테마를 스스로 선택할 수있는 경우 선택한 테마는 $user->theme
에 저장되며 여기에서 $user
은 사용자 개체입니다. 모듈이 사용자 지정 테마를 설정 한 경우 전역 변수 $custom_theme
에 현재 설정된 테마의 이름이 포함됩니다. -가에 따라 달라
global $custom_theme, $theme, $user;
if (!empty($user->theme)) {
$current_theme = $user->theme;
}
elseif (!empty($custom_theme)) {
$current_theme = $custom_theme;
}
else {
$current_theme = $theme ? $theme : variable_get('theme_default', 'garland');
}
path_to_theme
은 정상적으로 작동하며 두 번의 Drupal 설치에서 테스트를 수행했으며 두 가지 모두 작동했습니다. 테마가 아직 초기화되지 않은 경우, path_to_theme
이 수행합니다. Drupal이 내부적으로 찾고있는 변수 인 $theme_path
과 같은 다른 글로벌 테마 변수를 설정하는 데 사용됩니다.
흠, 내가 아니, 며칠 전 – Kevin
@googletorp을 시도 할 때 나에게 모듈 경로를 주었다
다음 코드는
$current_theme
에서 현재 사용중인 테마의 이름을 저장 path_to_theme()가 호출 될 때 범위. 문서 호출 :> 테마 호출 범위 내에서 호출 된 경우 theming 함수가 처리되는 >에 따라 달라집니다. 모듈에서 구현 된 경우 > 모듈을 가리 킵니다. 활성 테마에서 구현 된 경우 >이 활성 테마를 가리 킵니다.> 출처 : [Drupal API] (http://api.drupal.org/api/drupal/includes!theme.inc/function/path_to_theme/6) –