Mehrsprachiges Logo
am 05.06.2012 - 13:17 Uhr in
Hallo liebe DrupalCenter.de-Community,
wie der Titel schon sagt versuche ich ein mehrsprachiges Logo (in diesem Fall deutsch und englisch) zu erstellen. Benutzten tu ich den busy theme. Als Logo nutze ich eine einfache Bilddatei. Um die Sprache des jeweiligen nodes herauszubekommen nutze ich das Objekt $language.
In der page.tpl.php habe ich folgende Änderungen vorgenommen:
<div id="logo-floater">
<?php if ($logo || $site_title): ?>
<div id="branding" class="clearfix">
<a href="<?php print $front_page ?>" title="<?php print $site_name_and_slogan ?>">
<img src="<?php echo busy_header_image() ?>" alt="<?php print $site_name_and_slogan ?>" id="logo" />
<span class="site-title"><?php print $site_name ?></span>
</a>
</div>
<?php else: /* Use h1 when the content title is empty */ ?>
<h1 id="branding">
<a href="<?php print $front_page ?>" title="<?php print $site_name_and_slogan ?>">
<?php if ($logo): ?>
<img src="<?php print $logo ?>" alt="<?php print $site_name_and_slogan ?>" id="logo" />
<?php endif; ?>
</a>
</h1>
<?php endif; ?>
</div>Folgenden Code habe ich der template.php hinzugefügt:
function busy_header_image() {
global $language;
return path_to_theme() . '/images/header_' . $language->language . '.png';
}Auf der "Home"-Seite funktioniert der Code für beide Sprachen, auf den anderen Seiten nur auf deutsch. Jeder hinzugefügte Inhalt hat eine eindeutige Sprache zugewiesen bekommen (sprachneutrale nodes gibt es keine).
Wo ist mein Fehler? Übersehe ich hier etwas oder funktioniert es einfach nicht? Ich hoffe ihr könnt mir weiterhelfen.
mfg Marth
- Anmelden oder Registrieren um Kommentare zu schreiben

Die Settings einer Seite /
am 05.06.2012 - 20:33 Uhr
Die Settings einer Seite / eines Themes kann man über das $conf['i18n_variables'] Array in der settings.php steuern.
Hier legst du fest welche Variables ebenfalls übersetzbar sein sollten - dazu zählen dann auch die ThemeEinstellungen / das Logo..
Weitere Informationen dazu findest du unter:
http://drupal.org/node/313272
In deinem Fall sollte die Einstellung genügen:
<?php$conf['i18n_variables'] = array('theme_settings');
?>
Hab ich gerade aber aufgrund fehlender Seite nicht testen können..
SteffenR
Danke für die Antwort, jedoch
am 05.06.2012 - 22:08 Uhr
Danke für die Antwort, jedoch verstehe ich das ganze nicht wirklich.
Ich habe den Code jetzt der settings.php hinzugefügt. Doch was muss ich jetzt machen? Eigentlich sollte mir doch schon das $language-Objekt die zugehörige Sprache liefern.
Marth
Sobald du diese Variablen in
am 05.06.2012 - 22:49 Uhr
Sobald du diese Variablen in der settings.php gesetzt hast und danach den Cache geleert hast, kannst du je nach Sprache (also der umgestellten Sprache im Drupal BAckend) die Settings für dein Theme festlegen. Außerdem sollte bei den Felder den betreffenden Felder auch einen Hinweis bzgl. dieser Einstellung bekommen..
SteffenR