Hallo,
kennt jemand einen eleganten, updatesicheren Weg, die Ausgabe dieses Textelements in der j_colorbox in verschiedenen Sprachen anzubieten? Im Moment weiss ich noch nicht wo anfangen zu suchen, danke für Tipps und Hinweise!
Hallo,
kennt jemand einen eleganten, updatesicheren Weg, die Ausgabe dieses Textelements in der j_colorbox in verschiedenen Sprachen anzubieten? Im Moment weiss ich noch nicht wo anfangen zu suchen, danke für Tipps und Hinweise!
Verwendest Du pro Sprache ein eigenes Seitenlayout?
Hallo xchs,
Danke fuer die schnelle Antwort, ja ich werde -so wie immer, fuer jede Sprache ein eigenes Layout anlegen.
Wenn es pro Sprache ein eigenes Seitenlayout gibt, dann kann man dort jeweils ein angepasstes Template der "j_colorbox" einbinden und laden.
Du könntest aber auch versuchen, in einer Kopie des Templates "j_colorbox.html5" die Bezeichnung je nach Sprache ausgeben zu lassen, z.B.
PHP-Code:
<?php
// Add the colorbox style sheet
$GLOBALS['TL_CSS'][] = 'assets/jquery/colorbox/'. COLORBOX .'/css/colorbox.min.css||static';
?>
<script src="<?php echo TL_ASSETS_URL; ?>assets/jquery/colorbox/<?php echo COLORBOX; ?>/js/colorbox.min.js"></script>
<script>
(function($) {
$(document).ready(function() {
$('a[data-lightbox]').map(function() {
$(this).colorbox({
<?php
if ($GLOBALS['TL_LANGUAGE'] == 'de')
{
echo 'current: "Bild {current} von {total}", . "\n"';
}
if ($GLOBALS['TL_LANGUAGE'] == 'en')
{
echo 'current: "image {current} of {total}",' . "\n";
}
?>
loop:false,
rel:$(this).attr('data-lightbox')
});
});
});
})(jQuery);
</script>
Geändert von xchs (04.12.2012 um 21:55 Uhr)
Hallo xchs,
Aha, so geht das, danke fuer die schnelle und hilfreiche Antwort, ich hatte schon gedacht in dem js_file arbeiten zu muessen!
Vielen Dank Dir und einen schoenen Restabend nach Wien!
Habe das angepasste Template jetzt mal eingebunden, erhalte aber nur eine amputierte Ausgabe (keine Navigation, keine Texte), eine Sprache ist der Seite zugewiesen, noch jemand eine Idee?
Kann ich den Quelltext sehen? Ist die Seite online?
Hallo Xchs,
klar, im Moment jedoch nur auf dem neuen Internetprojekt für eine Grundschule, die ich ehrenamtlich betreue, hier der Link: http://www.progress.guex.de/galerie.html
Da hast Du irgendwas falsch gemacht. Wie hast Du das geänderte Template erstellt und wie bindest Du das ein?
hm, neues template j_colorbox.html5 zu den bereits angelegten templates im angelegten templateordner eingefügt und deinen Code copy/paste eingefügt, der wenn ich die Zeilenauskommentiere, auch wunderbar funktioniert. Für das Inhaltselement Galerie wird als Galerietemplate das: gallery_default angeboten (und verwendet)PHP-Code:
<?php
if ($GLOBALS['TL_LANGUAGE'] == 'de')
{
echo 'current: "Bild {current} von {total}", . "\n"';
}
if ($GLOBALS['TL_LANGUAGE'] == 'en')
{
echo 'current: "image {current} of {total}",' . "\n";
}
?>
So, grad mal schnell bei mir getestet: Wenn ich das geänderte Template ins Seitenlayout einbinde, erhalte ich im Quelltext des Frontends die folgende Ausgabe:
Du kannst das Template aber gerne meinetwegen auch so abändern:HTML-Code:<script src="assets/jquery/colorbox/1.3.20/js/colorbox.min.js"></script> <script> (function($) { $(document).ready(function() { $('a[data-lightbox]').map(function() { $(this).colorbox({ current: "image {current} of {total}", loop:false, rel:$(this).attr('data-lightbox') }); }); }); })(jQuery); </script>
PHP-Code:
<?php
// Add the colorbox style sheet
$GLOBALS['TL_CSS'][] = 'assets/jquery/colorbox/'. COLORBOX .'/css/colorbox.min.css||static';
?>
<script src="<?php echo TL_ASSETS_URL; ?>assets/jquery/colorbox/<?php echo COLORBOX; ?>/js/colorbox.min.js"></script>
<script>
(function($) {
$(document).ready(function() {
$('a[data-lightbox]').map(function() {
$(this).colorbox({
<?php
if ($GLOBALS['TL_LANGUAGE'] == 'de')
{
echo 'current: "Bild {current} von {total}",';
}
else
{
echo 'current: "image {current} of {total}",';
}
?>
loop:false,
rel:$(this).attr('data-lightbox')
});
});
});
})(jQuery);
</script>
Schön, mit der if else Lösung funktioniert das jetzt. Herzlichen Dank nochmal für Deine Engagement und die Lösung! Eine Frage noch: Wo kann ich mich weiter über Möglichkeiten zu Anpassung von Sprachausgaben informieren, ist das irgendwo dokumentiert?
In Contao gäbe es dafür beispielsweise auch den Inserttag {{iflng::*}}. Damit kann man eigentlich recht simpel entsprechende Strings bzw. unterschiedlichen Code je nach aktueller Seitensprache ausgeben lassen.
Nur wo ich diesen Thread gerade zur Google-Frage "contao galerie image of" finde...
Meine sprach-unabhängige Lösung hierzu sieht folgendermaßen aus (Template "j_colorbox.html5"):
HTML-Code:[...] // Put custom options here loop: false, rel: $(this).attr('data-lightbox'), maxWidth: '95%', maxHeight: '95%', current: "{current} / {total}" [...]
, also in den Optionen einfach die Zeile
current: "{current} / {total}"
hinzugefügt. Kein großer Geniestreich :-) Aber so weiß in der Frontend-Galerie auch jeder User in jeder Sprache (oder?), was gemeint ist.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)