Bagaimana cara mendapatkan jalur logo di Drupal 7?


7

Saya memiliki logo khusus dan saya telah mencoba untuk mendapatkan jalannya dengan cara ini theme_get_setting('logo_path'), tetapi tidak ada hasil yang diharapkan.

Saya menggunakan kode dalam blok khusus, dalam input PHP.


3
Di mana Anda menggunakan kode ini? Sudahkah Anda mencoba theme_get_setting('logo_path', 'THEME_NAME'), mengganti THEME_NAME dengan nama tema Anda?
marcvangend

Jawaban:


7

logo_pathtampaknya hanya diatur jika Anda mengganti logo default tema melalui pengaturan temanya. Untuk mendapatkan logo default, gunakan theme_get_setting('logo').


Tetapi mengapa hasil dari theme_get_setting('logo')string kosong? Saya telah mengatur logo khusus saya di/admin/appearance/setting
Ek Kosmos

Mengapa ketika Logo dinonaktifkan dari tema TOGGLE DISPLAY - Enable or disable the display of certain page elements.maka theme_get_setting('logo')tidak ada hasil. Mengapa
Ek Kosmos

1
Terima kasih, itulah tepatnya yang saya cari! Gunakan <a href="<?php echo theme_get_setting('logo');?>">di blok kode PHP untuk menampilkan logo di blok Anda sendiri.
Coomie

4
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]
  // …
}

Panggilan ke drupal_theme_initialize () tidak sepenuhnya diperlukan, dan itu tidak melakukan apa-apa jika variabel global $themesudah diinisialisasi.
Kode menghapus URL dasar karena nilai yang dilaporkan dari theme_get_setting('logo')adalah jalur absolut; jika Anda tidak memerlukan jalur relatif untuk mengakses file, maka bagian di antaranya // [1]dapat dihapus.

Ketika logo telah dinonaktifkan pada pengaturan tema, theme_get_setting('logo')tidak mengembalikan apa pun.


Saya mengganti kode [1]dengan $logo = file_create_url($logo);untuk mendapatkan path URL lengkap dari logo (dengan http: //).
Matt Fletcher
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.