it-swarm-eu.dev

Jak získat cestu k logu v Drupal 7?

Mám vlastní logo a pokusil jsem se získat jeho cestu tímto způsobem theme_get_setting('logo_path'), ale žádný očekávaný výsledek.

Používám kód ve vlastním bloku, ve vstupním PHP.

8
Ek Kosmos

logo_path Se zdá být nastaven, pouze pokud přepíšete výchozí logo motivu prostřednictvím jeho nastavení motivu. Chcete-li získat výchozí logo, použijte 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]
  // …
}

Volání drupal_theme_initialize () není nezbytně nutné a nedělá nic, pokud je globální proměnná $theme Již inicializována.
Kód odebírá základní URL, protože hodnota hlášená z theme_get_setting('logo') je absolutní cesta; Pokud pro přístup k souboru nepotřebujete relativní cestu, lze část mezi // [1] odebrat.

Když bylo logo zakázáno v nastavení motivu, theme_get_setting('logo') nic nevrací.

4
kiamlaluno