rgtabs von link auf eine bestimmten Tab springen

  • tom_meier tom_meier
    Sternenflotten-Admiral
    0 x
    182 Beiträge
    1 Hilfreiche Beiträge
    04. 04. 2008, 14:56

    Hallo,

    habe die Ext, rgtabs installiert und läuft alles super. Nun möchte ich aber von der Startseite einen link in das z.b 2 tab setzen. Es wird mir aber immer das 1. Tab angezeigt. Auch wenn ich dem Link die ID des Ankers mitgebe (id=4#c111) geht es nicht. Es wird immer Tab 1 angezeigt.

    Weiss jemand wie das gehen soll?

    Gruß

    Tom


  • 1
  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    04. 04. 2008, 15:08

    Hallo,

    ist der anker auch im quellcode, ists auch der anker von diesem tab? dann müsste eigentlich alles passen, bei mir gehts

    georg

  • tom_meier tom_meier
    Sternenflotten-Admiral
    0 x
    182 Beiträge
    1 Hilfreiche Beiträge
    04. 04. 2008, 15:12

    Hallo Georg,

    ja ist ein Anker vom 2. Tab. Ich muss aber sagen das ich nicht mit Ajax Arbeite. Geht es auch in der JS Version?. (Suchmaschinentechisch)

    Das Tab muss ja dann per JS "eingeblendet" werden.

    Gruss Tom

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    04. 04. 2008, 21:27

    mit ajax geht das natürlich nicht, da müsste man das wohl umschreiben

    georg

  • elv1s elv1s
    Jedi-Meister
    0 x
    494 Beiträge
    0 Hilfreiche Beiträge
    03. 04. 2009, 17:32

    Hallo!

    ich habe das Problem das im Quelltext kein Anker bzw. a id= erscheint.

    Die Tabname werden alle nur mit H4 gewrapped und kein <a id = > wird erstellt.

    Ich benutzt Rgtabs ohne Ajax funktion.

    Wer hat ne Id wo ich evtl . was vergessen habe oder ändern sollte.

    vielen Dank im Voraus.
    Gruss

  • Graf Typo Graf Typo
    Padawan
    0 x
    44 Beiträge
    0 Hilfreiche Beiträge
    03. 06. 2010, 01:36

    Liebe Community,

    auch ich war auf der Suche nach einer Lösung für diese Frage. Hier las ich etwas von Anker-IDs, woanders von einer TYPOScript-Alternative mit LinkVar, aber nix davon hat für mich funktioniert. Daher habe ich eine kleine JavaScript-Lösung geschrieben, die ich hier gerne teilen möchte.

    Zunächst einmal kopieren wir die originale Datei [i]rgtabs.js[/i] aus [i]typo3conf/ext/rgtabs/res/scripts[/i] in ein eigenes Verzeichnis (zum Beispiel [i]fileadmin/scripts[/i]), um sie dort update-sicher bearbeiten zu können.

    Im TS Setup des Root-Verzeichnisses oder wahlweise eines erweiterten Templates geben wir dann den neuen Pfad an, damit die Extension auch das richtige JavaScript findet:

    1. plugin.tx_rgtabs_pi1.pathToJS = fileadmin/script/rgtabs.js

    Nun aber zum JavaScript selbst. In der kopierten Datei setzen wir ganz an den Anfang folgenden Code (hab's hier mal als TS formatiert, weil alles andere falsch dargestellt wird; ist aber JS):

    1. /**
    2. *
    3. * URL nach tab=... durchsuchen und entsprechende Tabauswahl vorbereiten
    4. * (Die tatsächliche Auswahl erfolgt weiter unten über 'options: show')
    5. *
    6. */
    7.  
    8. function gup(name)
    9. {
    10. name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    11. var regexS = "[\\?&]"+name+"=([^&#]*)";
    12. var regex = new RegExp( regexS );
    13. var results = regex.exec( window.location.href );
    14. if( results == null )
    15. return "";
    16. else
    17. return results[1];
    18. }
    19.  
    20. var showTab = gup('tab');
    21. showTab = (showTab == "")?0:showTab-1;

    Etwas weiter unten finden wir die Zeile

    1. show: 0;

    und ändern sie in
    1. show: showTab;

    Das war's! Wenn man nun an die URL der Seite ein [i]&tab=2[/i] anhängt (bzw. bei RealURL ein [i]?tab=2[/i]), wird nun zum Beispiel der zweite Tab aufgerufen. Also zum Beispiel: http://www.yourdomain.com/index.php?id=myalias&tab=2

    Einige Anmerkungen:

    * Die Funktion [i]gup[/i] zum Durchsuchen der URL nach Parametern ist ausgeliehen von [url=http://www.netlobo.com/url_query_string_javascript.html]dieser Seite[/url]. Danke an Justin Barlow.
    * Wer seinen Parameter nich [i]tab[/i] nennen will, sondern vielleicht [i]hanswurst[/i], ändert das [i]tab[/i] einfach in dieser Zeile des Javascripts:

    1. var showTab = gup('tab');

    * Die Anker-ID-Lösung, die in diesem Thread vorgeschlagen wird, ist "unobtrusive", funktioniert (wenn sie mal funktioniert ...) also auch ohne eingeschaltetes JavaScript. Meine Lösung braucht dagegen ganz offensichtlich JavaScript.
    * Der anzuwählende Tab kann trotzdem im Backend-Formular überschrieben werden (Feld [i]Start mit Tab #[/i]).
    * Getestet nur mit der Basic-Tabs-Variante von rgtabs, nicht mit Ajax.
    * Falls Georg Ringer dies liest, darf er gerne diese Lösung in einem Update von rgtabs verwenden.

    Lasst mich doch wissen, ob alles bei euch funktioniert oder ob ihr einen Bug findet.

    Einen schönen Tag noch,
    der Graf

  • coyot coyot
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    28. 10. 2011, 11:15

    Hallo Community,

    ich habe mich letztens mit dem Problem rumgeschlagen, dass ich so etwas brauchte aber auch rgtabs in rgtabs hatte. Also 2 Stufen. Und mit realurl.
    Tutorials im Netz waren da nicht sehr hilfreich (und das von Graf, das als Basis dienen sollte, wurde von BBCode zerschossen...), also habe ich meine eigene Lösung gebastelt und wollte die mal mit Euch teilen.

    Erstmal, wie schon Graf geschrieben hat, die JS Datei kopieren und im TS auf sie verweisen.
    Dann folgende Änderungen vornehmen:
    Ganz am Anfang der Datei folgendes einfügen (der Mod/Admin hat das immer noch nicht repariert - Javascript Codeblöcke gehen nicht und alle anderen werden mit Smilies versaut; ich hänge diesen Code auch als Datei an):

    1. /**
    2. * @author Wojtek
    3. * URL parsen und Tabaktivatoren find.
    4. *
    5. */
    6.  
    7. var simpletabinstances = 0; //Zählt die Instanzen von rgtabs
    8.  
    9. function tabLinker() {
    10. var tmp;
    11. var tmp2;
    12. tmp = window.location.href.split("#"); // Hier kann man noch experimentieren, aber # ist sicher, da es von realurl ignoriert wird
    13. if (typeof tmp[1] != 'undefined') { // Aktivatoren vorhanden?
    14. tmp2 = tmp[1].split("!"); // Ein Separator für die zwei Ebenen - beliebig
    15. if (simpletabinstances > 1 && parseInt(tmp2[0]) == (simpletabinstances-1)) return parseInt(tmp2[1])-1; // Findet die untere Stufe die gerade auch angezeigt werden soll
    16. else {
    17. if (simpletabinstances == 1) return parseInt(tmp2[0])-1; // Findet die obere Stufe
    18. else return 0; // Alle anderen unteren Stufen auf 0 setzen. Wichtig, wenn die aktive untere Stufe mehr Menupunkte hat als die anderen.
    19. }
    20. }
    21. else return 0; // Default
    22. }

    Dann ersetzen wir in der Funktion initialize() die Zeile:

    1. this.setOptions(options);

    Mit dem folgenden Dreizeiler:

    1. simpletabinstances++;
    2. this.setOptions(options);
    3. this.options.show = tabLinker();

    Voila!
    Jetzt muss man nur eine Adresse besuchen, z.B.: http://www.musterseite.net/produktreihe/produkt1/#2!3

    VG,

    Wojtek

    Anhänge (1)
    rgtabs_ext.js application/javascript 0,00 B 198 heruntergeladen
  • breakBeat breakBeat
    R2-D2
    0 x
    91 Beiträge
    0 Hilfreiche Beiträge
    30. 05. 2012, 13:19

    Hallo Zusammen,

    nach [b]langem[/b] und [b]frustrierendem[/b] Experementieren mit den hier vorgeschlagenenn Lösungen, einem tiefen Atemzug ist mir die Frage von Georg hier im Thread noch mal aufgefallen… 

    [quote="just2b"]
    ...ist der anker auch im quellcode, ists auch der anker von diesem tab?
    [/quote]

    Nein, bei mir war er es nicht… 

    Dank intensivem rumgoogla weiß man wie man die Anker verstecken kann… und nachdem man auch die hinteren Schubladen der Suchmaschinen durchsucht hat findet man die Lösung wie man diese Teile reinbekommt wenn man sie aus irgendwelchen Gründen nicht hat…

    Typo3 erstellt wieder Anker mit:

    1. tt_content.stdWrap.dataWrap = <a id="c{field:uid}"></a>
    2. tt_content.stdWrap.prepend.dataWrap = <a id="c{field:_LOCALIZED_UID}"></a>

    So, nun funktioniert bei mir die normale Verlinkung auf Content Elemente auch in rgtabs [b]die automatisch aufgeteilt werden (ohne Änderungen im JScript). [/b]

    Gibt es eine Aufteilung mit [b]CE-Abstände, mittels "|"[/b] funktioniert das ganze leider nicht mehr… Hat das jemand bisher gelöst? Oder ist das ein magisches Phänomen meiner Typo3-Installtionen?

  • 1