Exterenes Logo im Drupal Theme nutzen

Bei den meisten Drupal Themes gibt es in den Einstellungen ein Feld um den Pfad zum Logo einzugeben. Standardmäßig geht Drupal davon aus, dass dieses Logo unterhalb des Drupalverzeichnisses zu finden ist, deshalb wird in der Funktion "theme_get_setting" der Pfad des Drupalverzeichnisses vor den des Logos gestellt.
Um nun ein externes Bild als Logo zu nutzen z.B. weil man alle Bilder auf Amazon S3 / Cloudfront oder ein anderes CDN auslagern möchte, muss man diesen Pfad überschreiben.

Dazu reicht es folgende Funktion in eine eigene template.php zu kopieren:
function phptemplate_preprocess_page(&$vars, $hook) {  $settings = theme_get_settings('theme_name');  $vars['logo'] = $settings['logo_path'];}

Damit umgeht man die Anpassung des Pfades durch Drupal und kann sein Logo auslagern. Das selbe geht natürlich auch mit dem Favicon (favicon_path).

Tags: