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 rgtabs.js aus typo3conf/ext/rgtabs/res/scripts in ein eigenes Verzeichnis (zum Beispiel fileadmin/scripts), 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:
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):
/**
*
* URL nach tab=... durchsuchen und entsprechende Tabauswahl vorbereiten
* (Die tatsächliche Auswahl erfolgt weiter unten über 'options: show')
*
*/
function gup(name)
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
var showTab = gup('tab');
showTab = (showTab == "")?0:showTab-1;
Etwas weiter unten finden wir die Zeile
show: 0;
und ändern sie in
show: showTab;
Das war's! Wenn man nun an die URL der Seite ein &tab=2 anhängt (bzw. bei RealURL ein ?tab=2), 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 gup zum Durchsuchen der URL nach Parametern ist ausgeliehen von dieser Seite. Danke an Justin Barlow.
* Wer seinen Parameter nich tab nennen will, sondern vielleicht hanswurst, ändert das tab einfach in dieser Zeile des Javascripts:
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 Start mit Tab #).
* 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