it-swarm.it

Come ottenere il percorso del logo in Drupal 7?

Ho un logo personalizzato e ho cercato di ottenere il suo percorso in questo modo theme_get_setting('logo_path'), ma nessun risultato previsto.

Sto usando il codice in un blocco personalizzato, nell'input PHP.

7
Ek Kosmos

logo_path Sembra essere impostato solo se si sovrascrive il logo predefinito del tema tramite le relative impostazioni. Per ottenere il logo predefinito, utilizzare 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]
  // …
}

La chiamata a drupal_theme_initialize () non è strettamente necessaria e non fa nulla se la variabile globale $theme È già inizializzata.
Il codice sta rimuovendo l'URL di base perché il valore riportato da theme_get_setting('logo') è un percorso assoluto; se non è necessario un percorso relativo per accedere al file, è possibile rimuovere la parte tra // [1].

Quando il logo è stato disabilitato nelle impostazioni del tema, theme_get_setting('logo') non restituisce nulla.

4
kiamlaluno