Ergebnis 1 bis 19 von 19

Thema: changelanguage als Select

  1. #1
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard changelanguage als Select

    Basiert auf mod_changelanguage.tpl (Vs. 1.0.0 stable, Build 5) unter TYPOlight Version 2.8.1

    Kurzbeschreibung was die Modifizierung bewirkt:

    Die Modifizierung nutzt das Mootool Feature Fx.Slide, um das Listenmenü der changelanguage extension als Slide-Select auszugeben.

    Ausführliche Beschreibung/Sonstige Infos:
    Benötigt die mootools javascript libs,
    HTML-Code:
    <script type="text/javascript" src="plugins/mootools/mootools-core.js"></script>
    <script type="text/javascript" src="plugins/mootools/mootools-more.js"></script>
    und zusätzlich dieses Javascript:
    HTML-Code:
    <script type="text/javascript">
    <!--
            function languageClick(langname) {
                alert(langname + ' clicked');
            }
    
            window.addEvent('domready', function() {
    
    	        var myVerticalSlide = new Fx.Slide('vertical_slide');
                myVerticalSlide.hide();
    			
    	        $('v_toggle').addEvent('click', function(e){
    		        e.stop();
    		        myVerticalSlide.toggle();
    	        });
    
                $$('a.external').addEvent('click', function(e) {
                    e.stop();
                    myVerticalSlide.toggle();
                    languageClick(e.target.parentNode.className);
                });
    		   
    
            });
    -->		
        </script>    
    das css natürlich nicht vergessen ! list-style-type:none usw !
    Mit ausreichend css kann man dem ganzen auch das optische aussehen eines normalen SelectMenüs geben, wie auf dem screener zu sehen.

    Das ganze wurde auf einer längeren Liste von Browsern getestet. auch IE6
    Bei Fehler gern ne pm an mich, ansonsten Kein Support

    Live-Link kann leider erst nach Projektstart erfolgen
    Eventuell mach ich noch ne Demo auf meiner Spielwiese.

    viel spass,
    ways

    screener:
    languageSelect.jpg

    Nachtrag:
    in dem Template unter Zeile 17 ist der Textbereich mit der Erweiterung fp_lngInsert mehrsprachig gemacht worden. Entweder die Erweiterung installieren oder einen Statischen Text verwenden.
    Angehängte Dateien Angehängte Dateien
    Geändert von ways2web (08.06.2010 um 01:20 Uhr)

  2. #2
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    eventuell werd ich das kleine javascript noch mal anpassen, dass sich das menü automatisch schließt nach einer gewissen zeit onblur oder so...sonst bleibt das offen, wenn man nichts auswählt..
    update werd ich dann hier und auf meiner spielwiese posten

  3. #3
    Contao-Nutzer
    Registriert seit
    22.08.2011.
    Beiträge
    75

    Standard

    Hi,

    ich bin beschäftige mich gerade zum ersten mal mit Contao und verstehe nicht ganz wie ich das oben genannte Script verwenden kann.

    Folgendes habe ich gemacht:

    1. einbinden der beiden mootools javascript libs über das Feld "Zusätzliche <head>-Tags" im Backend
    2. einbinden des scripts über das Feld "Eigener JavaScript-Code"
    3. upload der tpl-Datei in das templates-Verzeichnis

    Wie kann ich dem Sprachwechsler nun sagen das er dieses Template verwenden soll?
    Ich habe versucht die Datei in nav_changelanguage.tpl umzubenennen um sie dann im Backend als Navigationstemplate des Sprachenwählers benutzen zu können.
    Leider wird dann nichts brauchbares im Frontend ausgegeben.

    Mache ich einen grundsätzlichen Fehler?

    Danke.
    rttmax

  4. #4
    Community-Moderator Avatar von schman
    Registriert seit
    20.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von rttmax Beitrag anzeigen
    Hi,
    Ich habe versucht die Datei in nav_changelanguage.tpl umzubenennen um sie dann im Backend als Navigationstemplate des Sprachenwählers benutzen zu können.
    Du musst dies unter mod_changelanguage.tpl benennen, wichtig ist das mod_ davor.
    Kein Privat Support via PM.

  5. #5
    Contao-Nutzer
    Registriert seit
    22.08.2011.
    Beiträge
    75

    Standard

    Ich dachte mit das da irgendwas schief läuft.
    Wenn die Datei mod_changelanguage.tpl heißt kann ich sie allerdings nicht mehr als Navigationstemplate des Sprachenwechsler auswählen.

  6. #6
    Contao-Nutzer
    Registriert seit
    22.08.2011.
    Beiträge
    75

    Standard

    Also ist mein Vorgehen grundsätzlich richtig?!
    Bis auf das umbenennen der tpl-Datei.

    Wenn ich sie nicht umbenenne kann ich sie nicht auswählen:
    sprachenwechsler.jpg
    rttmax

  7. #7
    Contao-Nutzer
    Registriert seit
    22.08.2011.
    Beiträge
    75

    Standard

    Sorry. Aber ich muss doch nochmal fragen: Wie verwende ich dieses Template?

    1. einbinden der beiden mootools javascript libs über das Feld "Zusätzliche <head>-Tags" im Backend
    2. einbinden des scripts über das Feld "Eigener JavaScript-Code"
    3. upload der tpl-Datei in das templates-Verzeichnis
    Das müsste ja soweit stimmen? Aber dann weiß ich einfach nicht weiter. Ich kann das Template nirgends auswählen.
    Danke schonmal für eure Geduld und Hilfe !

    rttmax

  8. #8
    Contao-Fan Avatar von jschma
    Registriert seit
    09.09.2010.
    Beiträge
    408

    Standard

    Hallo zusammen,

    bin gerade auch dabei den Sprachenwechsler als Dropdown zu realisieren, danke für die Anleitung und das Template schonmal!
    Leider hänge ich auch etwas, bei mir wird der Link "Sprache" angezeigt, das stimmt. Aber nach einem Klick kommt das Dropdown nicht. Wenn ich in den Quelltext schaue weiß ich auch weshalb

    HTML-Code:
    <!-- indexer::stop -->
    <div class="mod_changelanguage block">
    
    <ul>
    <li><a id="v_toggle" href="#"><img id="active_lang" alt="" src=""/> Sprache</a>
    <ul id="vertical_slide">
    </ul>
    
    </li>
    </ul>
    </div>
    <!-- indexer::continue -->
    Da steht einfach nichts drin Irgendwie scheint das Template die Daten nicht korrekt abzufragen. Hat jemand eine Idee wo hier der Fehler liegt?

    @rttmax
    Das Problem hatte ich auch, es hilft nichts (warum auch immer) das Template für den Sprachenwechsler im Backend anzupassen. Ich habe das direkt via FTP im modules-Verzeichnis im entsprechenden Template gemacht. Die Anpassungen des Templates im Backend wurden einfach nicht übernommen. Daher der (nicht update-sichere) Weg.

    Viele Grüße,
    Jan
    Geändert von jschma (01.09.2011 um 12:43 Uhr)

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

    Support Contao

    Standard

    Zitat Zitat von jschma Beitrag anzeigen
    Das Problem hatte ich auch, es hilft nichts (warum auch immer) das Template für den Sprachenwechsler im Backend anzupassen. Ich habe das direkt via FTP im modules-Verzeichnis im entsprechenden Template gemacht. Die Anpassungen des Templates im Backend wurden einfach nicht übernommen. Daher der (nicht update-sichere) Weg.
    Nach Template-Änderungen musst Du in der "Systemwartung" den FileCache "system/tmp" bereinigen. Dann funktioniert das auch einwandfrei mit dem BE-Modul "Templates" oder per FTP. Wie Du ja richtig sagst, sind solche Anpassungen an den Originaltemplates nicht updatesicher!
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Fan Avatar von jschma
    Registriert seit
    09.09.2010.
    Beiträge
    408

    Standard

    OK Danke für den Tipp! Werde ich mal antesten, bei der Anpassung des fe_page.tpl hatte ich das nie gebraucht, daher ist mir das neu
    Das Problem mit den fehlenden dropdown-Inhalten besteht aber logischerweise noch immer

    Grüße,
    Jan

  11. #11
    Contao-Nutzer
    Registriert seit
    22.08.2011.
    Beiträge
    75

    Standard

    Jetzt hab ich's auch geschafft das Template einzubinden. Allerdings kommt es auch bei mir zu dem von jschma beschriebenen Fehler.
    Da steht einfach nichts drin Irgendwie scheint das Template die Daten nicht korrekt abzufragen. Hat jemand eine Idee wo hier der Fehler liegt?
    Kann es sein das das Skript nicht mit Contao 2.10.0 kompatibel ist?!

  12. #12
    Contao-Fan Avatar von jschma
    Registriert seit
    09.09.2010.
    Beiträge
    408

    Standard

    So, ich habe eine neue Installation auf einem Testserver gemacht. Absolut blank.

    Seitenstrukturen angelegt, inhalte angelegt etc. Changelanguage installiert, funktioniert perfekt.
    Nach der Anpassung wie in Post 1 beschrieben funktioniert der Sprachenwechsler aber nicht mehr.

    Wie auch bei der anderen Installation werden keine Inhalte für das Select-Menü geladen
    HTML-Code:
    <!-- indexer::stop -->
    <div class="mod_changelanguage block">
    
    <ul>
    <li><a id="v_toggle" href="#"><img id="active_lang" alt="" src=""/> Sprache</a>
    <ul id="vertical_slide">
    </ul>
    </li>
    </ul>
    </div>
    <!-- indexer::continue -->
    Ich vermute daher auch, diese Anleitung ist nicht kompatibel zu Contao 2.10
    Schade, danke trotzdem für das template! Muss man wohl warten bis es etwas ähnliches gibt, dass auch mit einer aktuellen Contao-Installation läuft.

    Viele Grüße,
    Jan

  13. #13
    Contao-Nutzer
    Registriert seit
    10.07.2011.
    Beiträge
    22

    Standard Templates Kompatibel zu 2.10 machen

    Hallo

    Da ich den changelanguage auch als "schein" Select einbinden wollte und die vorher beschriebene Anleitung nicht zu 2.10 kompatibel ist habe ich nun die HTML5 Templates so angepasst das es funktioniert.

    Die Funktion basiert auch auf der Fx.Slide von Mootools.

    Vielleicht kann es sonst jemand auch gebrauchen und darum hier eine kurze Anleitung.

    1. mod_changelanguage.html5 mit folgenden Code ersetzen

    HTML-Code:
    <!-- indexer::stop -->
    <nav class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
    <?php if ($this->headline): ?>
    <<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
    <?php endif; ?>
    <ul>
    <li><a id="v_toggle" class="lang{{iflng::en}}En{{iflng}}{{iflng::de}}De{{iflng}}" href="#">{{iflng::en}}English{{iflng}}{{iflng::de}}Deutsch{{iflng}}</a>
    <?php echo $this->items; ?>
    </li>
    </ul>
    </nav>
    <!-- indexer::continue -->
    2. Neues Template nav_default.html5 erstellen und umbennen in z.B nav_language.html5

    HTML-Code:
    <ul id="languageSelect" class="<?php echo $this->level; ?>">
    <?php foreach ($this->items as $item): ?>
    <?php if ($item['isActive']): ?>
    <li class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
    <?php else: ?>
    <li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
    <?php endif; ?>
    <?php endforeach; ?>
    </ul>
    Richtiges Template nav_language.html5 im changelanguage Modul auswählen.

    3. und das Javascript

    Code:
    /* Language Select */
    window.addEvent('domready', function() {
    	
      var myVerticalSlide = new Fx.Slide('languageSelect');
      myVerticalSlide.hide();
    
      $('v_toggle').addEvent('click', function(event){
        event.stop();
        myVerticalSlide.toggle();
      });
     });
    Und zum Schluss noch die Styles per CSS definieren. Z.B. habe ich die Länderflaggen als Backgound Image über die Klassen .langDe usw. integriert.

    Danke noch an die Schreiber vorher für die vorarbeit.

    Grüsse
    Joël

  14. #14
    Contao-Nutzer
    Registriert seit
    08.06.2012.
    Beiträge
    1

    Standard

    Zitat Zitat von Jowi Beitrag anzeigen
    Hallo

    Da ich den changelanguage auch als "schein" Select einbinden wollte und die vorher beschriebene Anleitung nicht zu 2.10 kompatibel ist habe ich nun die HTML5 Templates so angepasst das es funktioniert.

    Die Funktion basiert auch auf der Fx.Slide von Mootools.

    Vielleicht kann es sonst jemand auch gebrauchen und darum hier eine kurze Anleitung.

    1. mod_changelanguage.html5 mit folgenden Code ersetzen

    HTML-Code:
    <!-- indexer::stop -->
    <nav class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
    <?php if ($this->headline): ?>
    <<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
    <?php endif; ?>
    <ul>
    <li><a id="v_toggle" class="lang{{iflng::en}}En{{iflng}}{{iflng::de}}De{{iflng}}" href="#">{{iflng::en}}English{{iflng}}{{iflng::de}}Deutsch{{iflng}}</a>
    <?php echo $this->items; ?>
    </li>
    </ul>
    </nav>
    <!-- indexer::continue -->
    2. Neues Template nav_default.html5 erstellen und umbennen in z.B nav_language.html5

    HTML-Code:
    <ul id="languageSelect" class="<?php echo $this->level; ?>">
    <?php foreach ($this->items as $item): ?>
    <?php if ($item['isActive']): ?>
    <li class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
    <?php else: ?>
    <li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
    <?php endif; ?>
    <?php endforeach; ?>
    </ul>
    Richtiges Template nav_language.html5 im changelanguage Modul auswählen.

    3. und das Javascript

    Code:
    /* Language Select */
    window.addEvent('domready', function() {
    	
      var myVerticalSlide = new Fx.Slide('languageSelect');
      myVerticalSlide.hide();
    
      $('v_toggle').addEvent('click', function(event){
        event.stop();
        myVerticalSlide.toggle();
      });
     });
    Und zum Schluss noch die Styles per CSS definieren. Z.B. habe ich die Länderflaggen als Backgound Image über die Klassen .langDe usw. integriert.

    Danke noch an die Schreiber vorher für die vorarbeit.

    Grüsse
    Joël
    Leider funktioniert auch das scheinbar unter der neuen Version nicht mehr... Es scheint als würde das Javascript nicht ausgeführt... Gibt es noch andere Lösungen.

  15. #15
    Contao-Nutzer
    Registriert seit
    10.07.2011.
    Beiträge
    22

    Standard

    Ja wahrscheinlich geht es ab Contao 2.11 nicht mehr so. Aber im Prinzip bleibt der Aufbau gleich. Braucht wahrscheinlich nur ein paar Anpassungen an das Template. Ich habe aber 2.11 noch nicht im Einsatz und darum kann ich es auch nicht genau beurteilen.

  16. #16
    Contao-Nutzer Avatar von mistamisza
    Registriert seit
    07.09.2012.
    Beiträge
    10

    Standard Gibt es schon Updates?

    Hallo ich habe gerade ebenfalls den oben beschrieben und dokumentierten Weg in der 2.11 ausprobiert und leider auch kein funktionales Drop-Down Menü.
    Gibt es hier die Möglichkeit den oben genannten Code auf Validierung für 2.11 zu testen?

    Vielen Dank - ich bin jetzt ebenfalls schon länger auf der Suche nach einer einfachen Möglichkeit "changelanguage" als Drop-Down zu nutzen.

  17. #17
    Contao-Nutzer
    Registriert seit
    10.07.2011.
    Beiträge
    22

    Standard

    Hallo mistamisza

    Was genau funktioniert nicht?

    Mittlerweile habe ich ein Update auf 2.11 gemacht und es funktioniert. Vielleicht musst du aber noch die alte Mootools Version 1.3 einbinden anstatt der neuen.

  18. #18
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    65

    Standard

    Hallo,

    ich möchte mich hier gerne einklinken. Ich habe die 2.11.6 und möchte Changelanguage ebenfalls als Select-Menü nutzen. Ich habe die o.g. Schritte durchgeführt. Aber es passiert nüschd
    Es erscheint kein Select-Menü. Ich habe die Mootools mal lokal und einmal die serverseitige benutzt. Kann mir jemand weiter helfen? Vielen Dank im voraus!
    Gruß,

    Michael

  19. #19
    Contao-Fan Avatar von k-webdesign
    Registriert seit
    07.06.2010.
    Ort
    Karlsruhe
    Beiträge
    657
    Partner-ID
    5911
    User beschenken
    Wunschliste

    Standard

    So ein Mist, ich hab das vor rund nem halben Jahr in meiner Probearbeit für ne Agentur gemacht, aber ich sehe den Thread jetzt erst. Werde versuchen, es hier für Version 3 zu posen, wenn ich es noch mal finde

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Select-Feld in Abhängigkeit von anderem Select-Feld füllen
    Von Bandyt im Forum Entwickler-Fragen
    Antworten: 1
    Letzter Beitrag: 05.09.2010, 22:07
  2. changelanguage und URLs
    Von gubischt im Forum changelanguage
    Antworten: 2
    Letzter Beitrag: 25.04.2010, 14:24
  3. Domainnamen mit changelanguage
    Von Carino im Forum changelanguage
    Antworten: 1
    Letzter Beitrag: 11.02.2010, 22:42
  4. changelanguage und graphicalnavigation
    Von instantjesus im Forum changelanguage
    Antworten: 0
    Letzter Beitrag: 04.01.2010, 21:57
  5. Navigation & Changelanguage
    Von olek07 im Forum Layout / Templates / Holy Grail
    Antworten: 7
    Letzter Beitrag: 11.08.2009, 13:11

Berechtigungen

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