Flaggen in i18n Modul selbst positionieren
am 31.07.2007 - 12:01 Uhr in
Hallo,
ich habe derzeit Drupal 5 im Einsatz und auch das i18n Modul. Nur leider gefällt mir die Anzeige der Flaggen nicht so gut. Daher habe ich nach Code-Schnipseln gesucht, die man in der page.tpl.php einbinden könnte, damit dort die Flaggen anders erscheinen.
Konkret habe ich versucht, die theme_irgendwas Funktionen aus dem i18n Modul in der page.tpl.php nachzubilden, jedoch ohne Erfolg.
Frage:
Weiß jemand, wie ich korrekt die Flaggen einbinden kann, und auch den Link zur übersetzten Node finden kann? Die Flaggen sind hier erstmal nebensächlich. Wichtig wäre eher, wie kann ich den Link zur übersetzten Node finden (mit der entsprechenden Sprache)?
Bin für jede Hilfe dankbar.
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Funktion findest du in
am 31.07.2007 - 12:20 Uhr
Die Funktion findest du in der i18n.module Datei und heisst "i18n_get_links" in der Funktion wird dann die Theme Funktion "theme_i18n_link" genutzt.
gruß pebosi
gruß pebosi
--
https://pebosi.net
So hatte ich das versucht
am 31.07.2007 - 12:23 Uhr
Ich glaube so hatte ich das versucht, aber bin mir nicht mehr ganz sicher.
Werde es nochmal versuchen in die page.tpl.php einzubinden. Wenn es nicht klappt, poste ich hier noch einige Codeschnipsel. Danke schonmal.
ToaTs
--
Professionelle und gutaussehende Themes für Drupal:
http://grafix-community.com
ToaTs
--
Kostenlose Themes für Drupal, mit Wunschliste:
http://drupal-templates.eu
Themeable functions
am 31.07.2007 - 12:42 Uhr
Das sind die betreffednen Funktionen:
<?php
function theme_i18n_link($text, $target, $lang, $query= NULL, $fragment = NULL){
$output = '<span class="i18n-link">';
$attributes = ($lang == i18n_get_lang()) ? array('class' => 'active') : NULL;
$output .= l(theme('i18n_language_icon', $lang), $target, $attributes, $query, $fragment, FALSE, TRUE);
$output .= " ";
$output .= l($text, $target, $attributes, $query, $fragment, FALSE, TRUE);
$output .= '</span>';
return $output;
}
function theme_i18n_language_icon($lang){
if ($path = variable_get('i18n_icon_path', drupal_get_path('module', 'i18n').'/flags/*.png')) {
$languages = i18n_supported_languages();
$src = base_path().str_replace('*', $lang, $path);
list($width, $height) = explode('x', variable_get('i18n_icon_size', '16x12'));
$attribs = array('class' => 'i18n-icon', 'width' => $width, 'height' => $height, 'alt' => $languages[$lang]);
return "<img src=\"$src\" ".drupal_attributes($attribs)." />";
}
}
?>
Die kopierts Du in die template.php Deines Themes und änderst den Funktionsnamen wie folgt:
<?php
function phptemplate_i18n_link($text, $target, $lang, $query= NULL, $fragment = NULL){
$output = '<span class="i18n-link">';
$attributes = ($lang == i18n_get_lang()) ? array('class' => 'active') : NULL;
$output .= l(theme('i18n_language_icon', $lang), $target, $attributes, $query, $fragment, FALSE, TRUE);
$output .= " ";
$output .= l($text, $target, $attributes, $query, $fragment, FALSE, TRUE);
$output .= '</span>';
return $output;
}
function phptemplate_i18n_language_icon($lang){
if ($path = variable_get('i18n_icon_path', drupal_get_path('module', 'i18n').'/flags/*.png')) {
$languages = i18n_supported_languages();
$src = base_path().str_replace('*', $lang, $path);
list($width, $height) = explode('x', variable_get('i18n_icon_size', '16x12'));
$attribs = array('class' => 'i18n-icon', 'width' => $width, 'height' => $height, 'alt' => $languages[$lang]);
return "<img src=\"$src\" ".drupal_attributes($attribs)." />";
}
}
?>
Dann kannst Du die funktionen anpassen wie Du willst.
vg
--
sanduhrs - drupalcenter
--------------------------------
Stefan Auditor
http://erdfisch.de
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Hatte es bisher direkt eingebunden
am 31.07.2007 - 12:49 Uhr
Bisher hatte ich in der page.tpl.tphp die theme_i18n_link direkt angesprochen und keine Links erhalten. Werde es mal auf diese Art versuchen.
Das nenne ich prompte und absolut perfekt beantwortete Frage. Dankeschön!
ToaTs
--
Professionelle und gutaussehende Themes für Drupal:
http://grafix-community.com
ToaTs
--
Kostenlose Themes für Drupal, mit Wunschliste:
http://drupal-templates.eu