Ergebnis 1 bis 14 von 14

Thema: Contao 3.0, j_colorbox, Sprache ändern (image $ of $)

  1. #1
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard Contao 3.0, j_colorbox, Sprache ändern (image $ of $)

    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!

  2. #2
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Verwendest Du pro Sprache ein eigenes Seitenlayout?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  3. #3
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Hallo xchs,
    Danke fuer die schnelle Antwort, ja ich werde -so wie immer, fuer jede Sprache ein eigenes Layout anlegen.

  4. #4
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    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 20:55 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  5. #5
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    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!

  6. #6
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    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?

  7. #7
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Kann ich den Quelltext sehen? Ist die Seite online?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  8. #8
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    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

  9. #9
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Da hast Du irgendwas falsch gemacht. Wie hast Du das geänderte Template erstellt und wie bindest Du das ein?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    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 Zeilen
    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"
              } 
              
    ?>
    auskommentiere, auch wunderbar funktioniert. Für das Inhaltselement Galerie wird als Galerietemplate das: gallery_default angeboten (und verwendet)

  11. #11
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    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:
    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>
    Du kannst das Template aber gerne meinetwegen auch so abändern:
    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>
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  12. #12
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    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?

  13. #13
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    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.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  14. #14
    Contao-Nutzer Avatar von Traumkunst
    Registriert seit
    22.01.2011.
    Ort
    In der Nähe von Dortmund
    Beiträge
    229

    Standard

    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

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •