Logo nur auf der Startseite zu sehen, obwohl Pfad auf allen Seiten stimmt...
Eingetragen von d_rehtür (39)
am 13.02.2011 - 15:01 Uhr in
am 13.02.2011 - 15:01 Uhr in
Hallo Leute!
Ich habe mich gerade gefreut, dass ich es geschafft habe, für jede Sprache ein eigenes Logo anzeigen zu lassen. Allerdings wird das Logo jetzt nur noch auf der Startseite angezeigt, obwohl!! der Pfad auf allen Seiten richtig ist. Das png wird dort aber nicht gefunden.
Ich habe in die template.php folgenden code reingeschrieben, der für das richtige logo sorgen soll:
function ead_preprocess_page(&$vars) {
// Switch logo based on language
global $language;
switch ($language->language) {
case 'de':
$vars['logo'] = 'sites/all/themes/zen/ead/images/logo.png';
break;
case 'fr':
$vars['logo'] = 'sites/all/themes/zen/ead/images/logo_fr.png';
break;
}
}
Wie gesagt, auf der Startseite funktioniert es, auf allen anderen Seiten nicht.Ich steh echt auf dem Schlauch! Wer es sich einmal anschauen möchte, findet die seite hier
Hat von euch jemand eine Idee?
Danke schonmal!
Andi
- Anmelden oder Registrieren um Kommentare zu schreiben
/aka/sites/all/themes/zen/ead
am 13.02.2011 - 15:21 Uhr
/aka/sites/all/themes/zen/ead/images/logo.png
als Pfadangabe scheint zu klappen ...
Drupal 7 Screencasts in deutsch!
Wie gesagt, die Pfade stimmen
am 13.02.2011 - 15:38 Uhr
Wie gesagt, die Pfade stimmen auf allen Seiten...aber außer auf der Startseite wird trotzdem kein Logo angezeigt!
Was veranlasst dich zur
am 13.02.2011 - 16:00 Uhr
Was veranlasst dich zur Aussage, daß die angegebenen Pfade stimmen, wenn doch das Bild nicht angezeigt wird? Der Pfad zum Logo der Startseite lautet
http://wp10596786.vwp6266.webpack.hosteurope.de/aka/sites/all/themes/zen...
Und wenn Du auf den Folgeseiten das Unterverzeichnis /aka mit in den Pfad reinpackst, dann wird das Logo auch angezeigt.
Drupal 7 Screencasts in deutsch!
Pfad
am 13.02.2011 - 16:09 Uhr
Hallo.
<?php
$vars['logo'] = 'sites/all/themes/zen/ead/images/logo.png';
?>
Das kann auf Unterseiten nicht funktionieren, weil dort der komplett aufgelöste Pfad nicht mehr
www.example.com/sites/all/...
, sondernwww.example.com/unterseite/sites/all/...
ist.Verwende einfach die Funktionen [api:path_to_theme:6] oder [api:drupal_get_path:6], um den Pfad korrekt zu erstellen:
<?php
$vars['logo'] = path_to_theme() .'/images/logo.png';
?>
<?php
$vars['logo'] = drupal_get_path('theme', 'ead') .'/images/logo.png';
?>
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, danke für den
am 13.02.2011 - 18:53 Uhr
Hallo Stefan,
danke für den Hinweis. Den Basispfad habe ich nicht beachtet, klar wenn der nicht stimmt, kann der relative pfad stimmen aber das nützt dann auch nichts.
Allerdings funktioniert es auch mit path_to_theme und drupal_get_path nicht. Ich habe beides ausprobiert und es führt zu dem gleichen ergebnis wie zuvor. momentan sieht der Code in der template.php so aus:
function ead_preprocess_page(&$vars) {
// Switch logo based on language
global $language;
switch ($language->language) {
case 'de':
$vars['logo'] = drupal_get_path('theme', 'ead') .'/images/logo.png';
break;
case 'fr':
$vars['logo'] = drupal_get_path('theme', 'ead') .'/images/logo_fr.png';
break;
}
}
Die Drupal Installation liegt in dem schon erwähnten Verzeichnis 'aka' und das theme 'ead' ist ein zen subtheme, was ihr mit sicherheit auch schon gesehen habt.
Cache wurde mehrfach geleert, sowohl drupal als auch browser-cache.
Woran kann es nun noch haken?
Bild
am 13.02.2011 - 22:39 Uhr
Ah, ich seh. Da spielt wieder dieser olle language-Prefix drin rum. Der Pfad wird zu
aka/fr/sites/all/...
aufgelöst.Probier mal
<?php
$vars['logo'] = base_path() . path_to_theme() .'/images/logo.png';
?>
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Wunderbar, es funktioniert.
am 15.02.2011 - 11:19 Uhr
Wunderbar, es funktioniert. Ohne deine Hilfe wär ich da wohl nicht so schnell drauf gekommen! Vielen Dank!