it-swarm-ko.tech

Drupal 7에서 로고 경로를 얻는 방법은 무엇입니까?

사용자 정의 로고가 있는데 theme_get_setting('logo_path')와 같은 방법으로 경로를 얻으려고했으나 예상 된 결과가 없습니다.

입력 PHP에서 사용자 정의 블록의 코드를 사용하고 있습니다.

7
Ek Kosmos

logo_path는 테마 설정을 통해 테마의 기본 로고를 재정의하는 경우에만 설정되는 것으로 보입니다. 기본 로고를 얻으려면 theme_get_setting('logo')을 사용하십시오.

7
user7
global $base_url;
drupal_theme_initialize();

if (!$logo = theme_get_setting('logo_path')) {
    $logo = theme_get_setting('logo');
}

if (!empty($logo)) {
  // [1]
  // Remove the base URL from the result returned by theme_get_setting('logo').
  // If you don't need the relative path, you can remove this code.
  if (strpos($logo, $base_url) === 0) {
    $logo = drupal_substr($logo, drupal_strlen($base_url));
  }
  // [1]
  // …
}

drupal_theme_initialize () 에 대한 호출은 반드시 필요한 것은 아니며 전역 변수 $theme가 이미 초기화 된 경우 아무런 작업도 수행하지 않습니다.
theme_get_setting('logo')에서보고 된 값이 절대 경로이므로 코드에서 기본 URL을 제거하고 있습니다. 파일에 액세스하기 위해 상대 경로가 필요하지 않으면 // [1] 사이의 부분을 제거 할 수 있습니다.

테마 설정에서 로고가 비활성화 된 경우 theme_get_setting('logo')은 아무 것도 반환하지 않습니다.

4
kiamlaluno