---
title: "T3Sports (cfcleague) mit rgtabs"
url: "https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2008-08-18"
last_reply: "2008-08-31"
replies: 44
solved: false
page: 1
pages: 1
lang: "de"
---

# T3Sports (cfcleague) mit rgtabs

Extensions · 44 Antworten · gestartet 2008-08-18

## Eröffnungsbeitrag

**bastians** · 2008-08-18 · [Beitrag #1](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/1)

Hallo,

ich versuche gerade T3sports mit rgtabs einzusetzen. Habe drei Reiter (Profil, Spiele, Saison).
Folgendes Problem: wenn ich auf den Seiten eine Auswahl einbaue für die verschiedenen Saisons und diese anklicke, so springt er immer wieder zum ersten Reiter. das ist ungünstig für eine Saisonauswahl im zweiten Reiter "Spiele".
Was könnte man hier tun, dass er nicht mehr springt sondern die Aktualisierung direkt im ausgewählten Reiter vornimmt?

## Antworten

### [#2](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/2) · bastians · 2008-08-18

Ich denke, das Problem liegt daran, dass bei Auswahl einer anderen Saison, die Seite nicht via JavaScript sondern die Seite komplett neu geladen wird.

Kann man die Templates hier entsprechend anpassen?

### [#3](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/3) · digedag · 2008-08-18

Der Spielplan muss hier auch per Ajax geladen werden. Allerdings gibt es natürlich keinen fertigen JS-Code dafür. Für den Ajax-Request musst du eine neue Seite per TS einrichten, die ungefähr so aussehen muss:

```typoscript
company_list = PAGE
company_list {
  typeNum=500
  config.disableAllHeaderCode = 1
  config.metaCharset = utf-8
  config.additionalHeaders = Content-Type:text/html;charset=utf-8
  config.xhtml_cleaning = 0
  config.admPanel = 0
  config.sendNoCacheHeaders = 1
  config.no_cache = 1
  10 < plugin.tx_cfcleaguefe_competition
  10.action = tx_cfcleaguefe_actions_MatchTable
}
```

Diese Seite musst du mit dem zusätzliche type-Parameter ausrufen: index.php?id=1&type=500

Aber Vorsicht: Ohne weitere Parameter bekommst du einen Spielplan aller Spiele in der DB!  ;)

### [#4](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/4) · bastians · 2008-08-18

Okay, aber wie ruft der die Seite automatisch auf? Geht das überhaupt oder muss ich sie direkt verlinken?

Wäre das nicht auch eine feature für zukünftige Versionen? Man kann im BE angeben, ob die Seite via AJAX geladen werden soll oder nicht.

### [#5](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/5) · digedag · 2008-08-18

> **bastians schrieb:**
>
> Okay, aber wie ruft der die Seite automatisch auf? Geht das überhaupt oder muss ich sie direkt verlinken?

Na das ist genau die Stelle, an der du per JS einsetzen musst. Ein Ansatz wäre es, in die Selectboxen einen Event-Listener reinzusetzen, der bei einer Änderung aufgerufen wird. Das ist ja jetzt auch schon so. Nur das der Listener jetzt das Formular abschickt:

```html
<select name="action" onchange="window.location=(this.options[this.selectedIndex].value);">
```

Statt dessen sollte ein Ajax-Request gestartet werden. Am besten solltest du dafür eine Bibliothek wie Prototype oder Mootools verwenden. Da musst du mal schauen, was rgtabs einsetzt. Die Bibliotheken kann man nämlich nicht parallel einsetzen.

```html
<select name="action" onchange="searchUrl(this.options[this.selectedIndex].value);">
```

```javascript
/**
 * Start einer Suchanfrage per Ajax
 */
function searchUrl(url) {
  var listDiv = $('rgtabdiv').empty().addClass('ajax-loading');
  new Ajax(url, {
		method: 'get',
		update: $('rgtabdiv'),
		evalScripts: true,
		onComplete: function() {listDiv.removeClass('ajax-loading');}
  }).request();
}
```

Keine Garantie das der Code direkt funktioniert, aber die Richtung sollte schon stimmen. Der JS-Code funktioniert mit Mootools. Den Namen des DIVs (rgtabdiv) musst du natürlich anpassen!

> Wäre das nicht auch eine feature für zukünftige Versionen? Man kann im BE angeben, ob die Seite via AJAX geladen werden soll oder nicht.

Das ist halt in der Einrichtung alles bissl umfangreich. Ich würde da einen Anleitung im Wiki bevorzugen.  :)

### [#6](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/6) · bastians · 2008-08-18

Okay, vielen Dank. Der Ansatz hilft mir hoffentlich weiter.

Noch was anderes:
Deine Kenntnisse sowie deine Geduld sind vorbildlich  :)

### [#7](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/7) · bastians · 2008-08-19

Kurz nochmal zum Verständnis:
den Beispielcode von dir, muss ich den komplett direkt in das T3Sports-Template einbauen oder nur die die Anweisung in die Selectboxen und den JS-Code in mein Haupt-Template?

### [#8](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/8) · digedag · 2008-08-19

> **bastians schrieb:**
>
> Kurz nochmal zum Verständnis:
> den Beispielcode von dir, muss ich den komplett direkt in das T3Sports-Template einbauen oder nur die die Anweisung in die Selectboxen und den JS-Code in mein Haupt-Template?

Das bleibt dir überlassen! Hauptsache die JS-Funktion ist am Ende im FE vorhanden. Andernfalls bekommst du nämlich einen JS-Fehler. Ich packe solche Javascript-Funktionen normalerweise in eine extra JS-Datei.
Hast du Firebug installiert? Das ist für solche Arbeiten ganz nützlich.  :)

### [#9](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/9) · bastians · 2008-08-20

Ich habe Probleme das DIV zu finden, in das ich den Content laden soll. Firebug bringt mir folgenden Fehler:

```html
$("rgtabs-container") is null
searchUrl("/index.php?id=herren1&no_cache=1&cfc_league_fe[saison]=5&cHash=94b5a95a6e")index.ph...1fdae8971 (Linie 529)
onchange(change )
```

Mein Scope-Template sieht so aus:

```html
<!-- ###SCOPE_SELECTION### start -->

		<script>
		/**
		 * Start einer Suchanfrage per Ajax
		 */
		function searchUrl(url) {
		  var listDiv = $('rgtabs-wrapper').empty().addClass('ajax-loading');
		  new Ajax(url, {
		                method: 'get',
		                update: $('rgtabs-wrapper'),
		                evalScripts: true,
		                onComplete: function() {listDiv.removeClass('ajax-loading');}
		  }).request();
		}
		</script>
<div class="cfcleague-scopeselection">
<form style="margin:0; padding:0;" action="dummy.php" method="get">


<!-- Auswahl der Saison -->
###SAISON_SELECTION###
<div class="cfcleague-scopeselection-saison">
<!--
###SAISON_LINK_FIRST#### ##SAISON_NAME### ###SAISON_LINK_FIRST###
###SAISON_LINK_PREV#### ##SAISON_NAME### ###SAISON_LINK_PREV###
-->
   <select name="action" onchange="searchUrl(this.options[this.selectedIndex].value);"> 
###SAISON_SELECTION_2###
    <option ###SAISON_ISCURRENT### value="/###SAISON_LINK_URL###">###SAISON_NAME###</option>
###SAISON_SELECTION_2###
  </select>
<!--
###SAISON_LINK_NEXT#### ##SAISON_NAME### ###SAISON_LINK_NEXT###
###SAISON_LINK_LAST#### ##SAISON_NAME### ###SAISON_LINK_LAST###
-->
</div>
###SAISON_SELECTION###
```

### [#10](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/10) · digedag · 2008-08-20

Ich glaube den kompletten Container von rgtabs solltest du nicht austauschen. Da liegt ja auch die Auswahlbox mit drin. Leg einfach ein zusätzliches DIV um die Spielplanausgabe. Dieses DIV kannst du dann immer aktualisieren.

Das sollte schon mal klappen. Allerdings wirst du dann auf ein anderes Problem treffen: Die Auswahlboxen werden bald nicht mehr funktionieren... Aber schau erstmal, daß es überhaupt einmal klappt!  :)

### [#11](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/11) · bastians · 2008-08-20

Ich vergaß das JS im Header. Habe prototype.js genommen, das kollidert nun glaube ich mit den rgtabs, da diese nun weg sind.

EDIT: mootools und prototype mögen sich ja nicht. Hmm...was nun?

### [#12](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/12) · digedag · 2008-08-20

Tja, du musst dich für eine Bibliothek entscheiden.  :)
Da allerdings rgtabs Mootools verwendet, hast du kaum eine andere Wahl. Oder du programmierst rgtabs mit Prototype nach.  ;)
Die Mootools sind aber eh besser!

### [#13](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/13) · bastians · 2008-08-20

Gut, dann versuche ich mich damit mal.
War dein Code auf prototyp ausgerichtet oder läuft der auch unter mootools?

### [#14](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/14) · bastians · 2008-08-20

> **bastians schrieb:**
>
> Gut, dann versuche ich mich damit mal.
> War dein Code auf prototyp ausgerichtet oder läuft der auch unter mootools?

auf mootools, wie auf Seite 1 zu lesen ist ;)

Habe die aktuellste Version mal hochgeladen:
<http://www.fvloechgau.de/typo3/index.php?id=herren1&no_cache=1>
Irgendwie tut sich nichts, sofern ich eine Lösung habe, kommt es in das Wiki, versprochen.

Du meintest, dass die Auswahlboxen nicht mehr richtig funktionieren würden. Inwiefern?

### [#15](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/15) · digedag · 2008-08-20

> **bastians schrieb:**
>
> Habe die aktuellste Version mal hochgeladen:
> <http://www.fvloechgau.de/typo3/index.php?id=herren1&no_cache=1>
> Irgendwie tut sich nichts, sofern ich eine Lösung habe, kommt es in das Wiki, versprochen.

Ich schau's mir morgen früh mal an.

> Du meintest, dass die Auswahlboxen nicht mehr richtig funktionieren würden. Inwiefern?

Erstmal sehen wir, daß der Ajax-Request überhaupt funktioniert und dann kümmern wir uns um die Lösung der Detailprobleme.  ;)

### [#16](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/16) · digedag · 2008-08-20

Also die URL für den Ajax-Request ist schon mal falsch:

```html
/index.php?id=herren1&amp;no_cache=1&amp;cfc_league_fe[saison]=6&amp;cHash=61fdae8971
```

Dein TYPO3 liegt in einem Unterverzeichnis, also musst du dieses in den Pfad mit aufnehmen. Außerdem fehlt der Parameter für den PageType, damit du wirklich die Ajax-Seite aufrufst.

Es sollte dann ungefähr in diese Richtung gehen:

```html
/typo3/index.php?id=herren1&type=500&amp;no_cache=1&amp;cfc_league_fe[saison]=6&amp;cHash=61fdae8971
```

Beim Seitentyp musst du natürlich die Nummer nehmen, die du konfiguriert hast. Die 500 wie im Beispiel ist es ja anscheinend nicht. TYPO3 meldet nämlich **Page not configured.**

### [#17](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/17) · bastians · 2008-08-21

Sorry, vielen Dank für dein Bemühen aber irgendwie stehe ich auf dem Schlauch bzw. meine Kenntnisse sind zu beschränkt.

Ich muss zuerst eine Seite anlegen mit z.B. type=500 wie auf Seite 1 beschrieben.
Ich schaffe es aber nicht einen Bezug herzustellen bzw den type im Link unterzubringen...
Ich sollte es wohl lassen, wenn man sich zu wenig auskennt... #angry#

### [#18](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/18) · digedag · 2008-08-21

Ja ich hab's gestern Abend ja auch nur sehr grob skizziert.  :o
Also die Zielseite für den Ajax-Request musst du schon einrichten, wie im Beispiel angegeben. Das sollte eigentlich soweit passen. Der Code kommt mit ins Typoscript-Template.

Mit dieser URL solltest du dann einen Spielplan erhalten:
<http://www.fvloechgau.de/typo3/index.php?id=herren1&no_cache=1&cfc_league_fe%5Bsaison%5D=6&type=500>

(Wie bekommt man eigentlich im Parameter **id** den Seitennamen rein, anstatt der Seiten-UID?? Das hab ich ja noch nie gesehen... :o )

Nun müssen die Links in der Selectbox angepaßt werden. Im HTML-Template sollte es dann so aussehen:

```html
<option ###SAISON_ISCURRENT### value="/typo3/###SAISON_LINK_URL###&type=500">###SAISON_NAME###</option>
```

Es wird also das Unterverzeichnis noch mit integriert und am Ende der URL hängst du einfach noch den Typ fest mit ran. Das ist die einfachste Lösung.

Mir ist aufgefallen, daß bei ersten Laden der Seite das DIV mit dem Spielplan nicht mehr angezeigt wird. Es ist zwar im Quellcode vorhanden, aber unsichtbar. Das solltest du natürlich beheben. Hast du eventuell ein DIV nicht wieder richtig geschlossen?

### [#19](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/19) · bastians · 2008-08-21

Wenn du bei den Seiteneigenschaften unter "alias" einen Wert eingibst, wird dieser statt der UID ausgegeben :)

Welches DIV meinst du genau? Ich finde es nicht.

<http://www.fvloechgau.de/typo3/index.php?id=herren1&no_cache=1>

Jetzt klappt es, er lädt nur relativ lange, da er alle Spiele ausgibt.

### [#20](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/20) · digedag · 2008-08-21

> Wenn du bei den Seiteneigenschaften unter "alias" einen Wert eingibst, wird dieser statt der UID ausgegeben :)

Haha, wieder was dazu gelernt!  :)

> Welches DIV meinst du genau? Ich finde es nicht.

Also wenn ich auf "Spiele" klicke erscheint bei mir im Firefox nur die Auswahlbox für die Saison, nicht aber die zugehörigen Spiele. Beim ersten Laden werden diese ja ohne Ajax eingebunden. Wenn ich mir den Quelltext der Seite anschaue, dann gibt es am Seitenende ein DIV mit der id="matchs". Und dort ist auch ein Spiel drin...

> Jetzt klappt es, er lädt nur relativ lange, da er alle Spiele ausgibt.

Das war zu erwarten, weil du ja nur per Parameter die Saison einschränkst. Zusätzlich muss nun auch noch der Club gesetzt werden. Man könnte das per Request machen, wenn du aber eh nur die Spiele deines Vereins zeigen willst, dann kannst du das auch per TS machen:

```typoscript
spielplan = PAGE
spielplan {
  typeNum=500
  config.disableAllHeaderCode = 1
  config.metaCharset = utf-8
  config.additionalHeaders = Content-Type:text/html;charset=utf-8
  config.xhtml_cleaning = 0
  config.admPanel = 0
  config.sendNoCacheHeaders = 1
  config.no_cache = 1
  10 < plugin.tx_cfcleaguefe_competition
  10.action = tx_cfcleaguefe_actions_MatchTable
  10.clubSelection = 1
  10.groupSelection = 1
}
```

Also den clubSelection und groupSelection sind hier neu drin. Du musst jeweils die entsprechende UID eintragen. Die Alterklasse brauchst du natürlich nur, wenn du mit mehreren Alterklassen arbeitest.

Um das an der Stelle nochmal kurz zu verdeutlichen: In dem Objekt 10 liegt ganz normal das Wettbewerbsplugin von T3sports drin. Hier können nun alle Konfiguration und Formatierungen des Plugins vorgenommen werden. Du kannst also auch das HTML-Template wechseln oder die Größe der Logos setzen.

Aber weiter mit deiner Seite: Wenn ich die Selectbox anklicke, dann erhalte ich nun auch den JS-Fehler, daß kein Objekt **Ajax** gefunden wurde. Ich dachte ja die rgtabs arbeiten schon mit Ajax. Dem ist aber wohl nicht so.
Du hast doch bestimmt die Mootools-Extension installiert. Geh mal in deren Backend-Modul. Da kannst du auswählen, welche Teilbibliotheken geladen werden sollen. Mach da mal noch ein Häkchen bei Ajax mit rein und lass die Datei neu erstellen. Das sollte helfen.  :)

### [#21](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/21) · bastians · 2008-08-21

In der Saison 2007/2008 sind normal auch keine Spiele eingetragen. Ich glaube das ist das Spiel, das im Tab "Tabelle" ausgegeben wird. Dort möchte ich nämliche die Tabelle und darunter die Spieltage anzeigen lassen. Da geht es ja dann mit dem Laden innerhalb des DIVs gleich weiter... :o

Bei rgtabs kann man auswählen, ob man den Content mittels AJAX laden lassen möchte oder nicht, habe ich jetzt mal eingestellt. Im Backend der mootools Extension ist Ajax aktiviert.

### [#22](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/22) · digedag · 2008-08-21

> **bastians schrieb:**
>
> In der Saison 2007/2008 sind normal auch keine Spiele eingetragen. Ich glaube das ist das Spiel, das im Tab "Tabelle" ausgegeben wird. Dort möchte ich nämliche die Tabelle und darunter die Spieltage anzeigen lassen. Da geht es ja dann mit dem Laden innerhalb des DIVs gleich weiter... :o

Mmh, na gut. Es wär halt ganz hilfreich, wenn man direkt paar Spiele sehen würde. Dann sieht man auch besser was sich genau tut.

> Bei rgtabs kann man auswählen, ob man den Content mittels AJAX laden lassen möchte oder nicht, habe ich jetzt mal eingestellt. Im Backend der mootools Extension ist Ajax aktiviert.

Sehr gut und es gibt auch direkt einen anderen Fehler.  :)
Pack mal die Javascript-Funktion in eine externe Datei. Wenn der Code per Ajax geladen wird, dann muss dem Browser erst noch gesagt werden, daß da JS drinne ist. Da kann es schnell passieren, daß wir die rgtabs noch optimieren müssen.  ;)
In einer externen Datei haben wir das Problem nicht!

Mit dem Code könntest du das z.B. machen:

```typoscript
page.headerData.100 = TEXT
page.headerData.100.value = <script type="text/javascript" src="fileadmin/js/deinedatei.js"></script>
```

### [#23](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/23) · bastians · 2008-08-21

> **digedag schrieb:**
>
> > **bastians schrieb:**
> >
> > In der Saison 2007/2008 sind normal auch keine Spiele eingetragen. Ich glaube das ist das Spiel, das im Tab "Tabelle" ausgegeben wird. Dort möchte ich nämliche die Tabelle und darunter die Spieltage anzeigen lassen. Da geht es ja dann mit dem Laden innerhalb des DIVs gleich weiter... :o
>
> Mmh, na gut. Es wär halt ganz hilfreich, wenn man direkt paar Spiele sehen würde. Dann sieht man auch besser was sich genau tut.

Habe für die Saison 2007/2008 nun auch Spiele angelegt bzw. die aus 2008/2009 kopiert und die Saison in den Wettbewerben geändert. Nun zeigt er mir die spiele doppelt an #evil#

> **digedag schrieb:**
>
> > Bei rgtabs kann man auswählen, ob man den Content mittels AJAX laden lassen möchte oder nicht, habe ich jetzt mal eingestellt. Im Backend der mootools Extension ist Ajax aktiviert.
>
> Sehr gut und es gibt auch direkt einen anderen Fehler.  :)
> Pack mal die Javascript-Funktion in eine externe Datei. Wenn der Code per Ajax geladen wird, dann muss dem Browser erst noch gesagt werden, daß da JS drinne ist. Da kann es schnell passieren, daß wir die rgtabs noch optimieren müssen.  ;)
> In einer externen Datei haben wir das Problem nicht!
>
> Mit dem Code könntest du das z.B. machen:
>
> ```typoscript
> page.headerData.100 = TEXT
> page.headerData.100.value = <script type="text/javascript" src="fileadmin/js/deinedatei.js"></script>
> ```

[/quote]

Gesagt, getan. Einmal ausgewählt, zeigt er immer die selben Spiele an, egal was ich auswähle. Auch obwohl in Saison 2009/2010 gar kein Inhalt existiert.

### [#24](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/24) · digedag · 2008-08-21

> **bastians schrieb:**
>
> Habe für die Saison 2007/2008 nun auch Spiele angelegt bzw. die aus 2008/2009 kopiert und die Saison in den Wettbewerben geändert. Nun zeigt er mir die spiele doppelt an #evil#

Mmh, also ich sehe immer noch keine Spiele...  #paralyzed#
Die Spiele zu kopieren ist übrigens keine so gute Idee. Im Prinzip hätte doch nur ein kleiner Testwettbewerb in 2007/08 mit einem Spiel gereicht. Wenn du Spiele kopierst, musst du ja anschließend noch die Verweise auf die Teams ändern. Denn die musst du ja für die neue Saison auch neu anlegen...

> Gesagt, getan. Einmal ausgewählt, zeigt er immer die selben Spiele an, egal was ich auswähle. Auch obwohl in Saison 2009/2010 gar kein Inhalt existiert.

Na aber es funktioniert doch erstmal!! Die Daten werden per Ajax geladen!  :)
Das zuviele Spiele geladen werden hatte ich fast vermutet. Setz mal noch diese Option in der Ajax-Seite:

```typoscript
spielplan.10.saisonSelectionInput = 1
```

Erst damit reagiert das Plugin auf den Parameter für die Saison!

Ich bin dann jetzt offline. Morgen kannst du weiterfragen!  :)

### [#25](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/25) · bastians · 2008-08-21

Ich habe nun das Kopierte gelöscht und neue Gegner und Spiele angelegt. Außerdem deinen Code eingefügt.

<http://www.fvloechgau.de/typo3/index.php?id=herren1>

Er lädt zu Beginn keine Spiele, wechselt man aber zu einer anderen Saison und wieder zurück, dann lädt er sie :)

Noch eine Frage: wieso dauert das Laden so lange? Die Tabs sind ja Unterseiten die versteckt sind, also eigentlich bereits geladen. Zumindest die Spiele der Saison 2007/2008 müsste er doch auf Anhieb anzeigen, oder?
Ansonsten würde ich noch eine Ladeanzeige integrieren, sonst denkt der User es passiert nichts.

Schönen, wohlverdienten Feierabend :)

### [#26](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/26) · digedag · 2008-08-21

> **bastians schrieb:**
>
> Er lädt zu Beginn keine Spiele, wechselt man aber zu einer anderen Saison und wieder zurück, dann lädt er sie :)

Hast du in dem Plugin, das von rgtabs geladen wird überhaupt den Spielplan mit ausgewählt? Wenn ja, sollte er eigentlich mit geladen werden...

> Noch eine Frage: wieso dauert das Laden so lange?

Also die Seite ist generell sehr lahm. 0.5 Req/s sind keine Glanzleistung. Vermutlich ist der TYPO3-Cache noch nicht aktiviert. Wenn möglich solltest du auch einen PHP-Beschleuniger wie [eAccelerator](http://eaccelerator.net/) installieren.

> Die Tabs sind ja Unterseiten die versteckt sind, also eigentlich bereits geladen. Zumindest die Spiele der Saison 2007/2008 müsste er doch auf Anhieb anzeigen, oder?

Du läßt rgtabs jetzt per Ajax laufen. Da werden die Daten erst beim Klick geladen. Zur Saison 2007/08 siehe meine erste Frage.

> Ansonsten würde ich noch eine Ladeanzeige integrieren, sonst denkt der User es passiert nichts.

Ist ja eigentlich schon drin. Das DIV bekommt beim Lade-Vorgang die Klasse "ajax-loading" verpaßt. Die gibt es aber bei dir nicht. Du kannst aber einfach die Klasse von rgtabs verwenden: "rgtabs-ajax-loading"
Tausch das einfach in der Funktion searchUrl() aus. Aber aufpassen: die Klasse ist dort an zwei Stellen drin!  :)

### [#27](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/27) · bastians · 2008-08-22

> **digedag schrieb:**
>
> > **bastians schrieb:**
> >
> > Er lädt zu Beginn keine Spiele, wechselt man aber zu einer anderen Saison und wieder zurück, dann lädt er sie :)
>
> Hast du in dem Plugin, das von rgtabs geladen wird überhaupt den Spielplan mit ausgewählt? Wenn ja, sollte er eigentlich mit geladen werden...

Stimmt, ich hatte nur die Wettbewerbe aus der Saison 2008/2009 ausgewählt.
Aber nun habe ich alle rausgenommen und alle Wettbewerbstypen ausgewählt, sonst muss man ja jede Saison die Wettbewerbe hinzufügen, oder? Das ist doch so gedacht?

> **digedag schrieb:**
>
> > Noch eine Frage: wieso dauert das Laden so lange?
>
> Also die Seite ist generell sehr lahm. 0.5 Req/s sind keine Glanzleistung. Vermutlich ist der TYPO3-Cache noch nicht aktiviert. Wenn möglich solltest du auch einen PHP-Beschleuniger wie [eAccelerator](http://eaccelerator.net/) installieren.

Cache ist aktiviert. Liegt wohl an 1und1 ;) und den Beschleuniger werd ich mal integrieren.

> **digedag schrieb:**
>
> > Die Tabs sind ja Unterseiten die versteckt sind, also eigentlich bereits geladen. Zumindest die Spiele der Saison 2007/2008 müsste er doch auf Anhieb anzeigen, oder?
>
> Du läßt rgtabs jetzt per Ajax laufen. Da werden die Daten erst beim Klick geladen.

Okay, klar. Zum Verständnis: ich könnte Ajax bei rgtabs aber ausschalten ohne dass es Auswirkungen auf meine Auswahl hat, oder?
Auch hier zum Verständnis, will nicht das hart erarbeitete ersetzen: könnte man den Inhalt von T3Sports auch ohne Ajax laden oder ist das hier ein muss? Wenn ja, wie würde es grob ohne gehen?

> **digedag schrieb:**
>
> > Ansonsten würde ich noch eine Ladeanzeige integrieren, sonst denkt der User es passiert nichts.
>
> Ist ja eigentlich schon drin. Das DIV bekommt beim Lade-Vorgang die Klasse "ajax-loading" verpaßt. Die gibt es aber bei dir nicht. Du kannst aber einfach die Klasse von rgtabs verwenden: "rgtabs-ajax-loading"
> Tausch das einfach in der Funktion searchUrl() aus. Aber aufpassen: die Klasse ist dort an zwei Stellen drin!  :)

Ähm, ja klaro ^^ dickes dickes Danke an dich!

Jetzt muss ich es nur noch hinbekommen, dass die aktuelle Saison zuerst geladen wird. Habe im BE bei der Auswahl die Saisons schon vertauscht, wird aber nichts.

Was mir auch aufgefallen ist: wenn man die Seite Spiele direkt aufruft, lädt er nicht. Wenn das hier gehen würde, könnte man auch ohne rgtabs AJAX-basiertes laden verwenden, für manch andere vielleicht interessant.

Und die anderen Seiten wie bei Saison mit den Spieltagen kann ich ja mit dem selbem Prinzip lösen, oder?

Mein Versprechen steht noch: ich dokumentiere das hier in dem T3sports Wiki und auch in meinem Blog!

### [#28](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/28) · digedag · 2008-08-22

> **bastians schrieb:**
>
> Stimmt, ich hatte nur die Wettbewerbe aus der Saison 2008/2009 ausgewählt.
> Aber nun habe ich alle rausgenommen und alle Wettbewerbstypen ausgewählt, sonst muss man ja jede Saison die Wettbewerbe hinzufügen, oder? Das ist doch so gedacht?

Ja das ist so gedacht. Nur meinte ich eigentlich die gewählten Darstellungselemente. Da muss du nicht nur die Wettbewerbsauswahl, sondern auch den Spielplan mit reinnehmen. Aber wie ich sehe, hast du es inzwischen hinbekommen.  8-)

> Okay, klar. Zum Verständnis: ich könnte Ajax bei rgtabs aber ausschalten ohne dass es Auswirkungen auf meine Auswahl hat, oder?

Bei rgtabs kannst du Ajax deaktivieren. Das wäre kein Problem. Es muss nur sichergestellt sein, daß im mootools.js die Ajax-Klasse mit geladen wird.

> Auch hier zum Verständnis, will nicht das hart erarbeitete ersetzen: könnte man den Inhalt von T3Sports auch ohne Ajax laden oder ist das hier ein muss? Wenn ja, wie würde es grob ohne gehen?

Nein, hier ist es ein muss. Sonst triffst du ja wieder auf dein Ursprungsproblem, daß nach dem Laden der Seite das falsche rgtab angezeigt wird.  Wenn du das ohne Ajax machen willst, dann müsstest du den Status des Tabs mit übertragen und anschließend per JS automatisch wieder setzen. Dann wird's aber richtig aufwendig!

> Jetzt muss ich es nur noch hinbekommen, dass die aktuelle Saison zuerst geladen wird. Habe im BE bei der Auswahl die Saisons schon vertauscht, wird aber nichts.

Die Reihenfolge der Saisondatensätze im SysFolder ist entscheidend. Vermutlich liegen sie im Hauptverzeichnis von T3sports. Dann ruft die Seite mit dem List-Modul auf und mach da die Sortierung.

> Was mir auch aufgefallen ist: wenn man die Seite Spiele direkt aufruft, lädt er nicht. Wenn das hier gehen würde, könnte man auch ohne rgtabs AJAX-basiertes laden verwenden, für manch andere vielleicht interessant.

Das verstehe ich jetzt nicht ganz. Prinzipiell kannst du per Javascript/Ajax natürlich jede Menge Dinge anstellen. Denkbar ist eine Teaserbox, die das letzte Spiel asynchron lädt. So etwas ist sinnvoll, wenn einzelne Seitenelemente viel Rechenzeit brauchen. Dann kann man so die Seite schon mal aus dem Cache schnell anzeigen und die schwergewichtigen Teile, werden nachgeladen.

> Und die anderen Seiten wie bei Saison mit den Spieltagen kann ich ja mit dem selbem Prinzip lösen, oder?

Ja das ist im Prinzip das gleiche. Du legst per TS neuen Seiten mit jeweils anderem Seitentyp an und bereitest da die Ausgabe vor.

Ein Hinweis noch zu den Auswahlboxen: Da hatte ich ja gesagt, daß es Probleme geben wird. Diese gibt es aber erst, wenn mehrere Boxen zusammen eingesetzt werden. Dann müssen diese nämlich auch erneuert werden, damit die URLs wieder stimmen.

> Mein Versprechen steht noch: ich dokumentiere das hier in dem T3sports Wiki und auch in meinem Blog!

Na ich würde mich freuen. Und deinen Blog kannst du ja auch mal hier mit verlinken!  :D

Das ist hier übrigens ein sehr guter und informativer Thread geworden! Sehr gut, daß du hartnäckig dran geblieben bist!  :)

### [#29](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/29) · bastians · 2008-08-22

> Das verstehe ich jetzt nicht ganz. Prinzipiell kannst du per Javascript/Ajax natürlich jede Menge Dinge anstellen. Denkbar ist eine Teaserbox, die das letzte Spiel asynchron lädt. So etwas ist sinnvoll, wenn einzelne Seitenelemente viel Rechenzeit brauchen. Dann kann man so die Seite schon mal aus dem Cache schnell anzeigen und die schwergewichtigen Teile, werden nachgeladen.

<http://www.fvloechgau.de/typo3/index.php?id=367>
Mich wundert hier, wieso die Spiele nicht geladen werden wenn ich eine andere Saison auswähle. Ist in mootools viell. Ajax nicht aktiviert?
Normal müsste der Ansatz, den wir hier erarbeitet haben doch auch ohne rgtabs funktionieren, sofern die Ajax-Bibliotek aktiviert ist oder?

> Ja das ist im Prinzip das gleiche. Du legst per TS neuen Seiten mit jeweils anderem Seitentyp an und bereitest da die Ausgabe vor.

Ah okay, ich muss jeweils Seitentypen definieren. Was passiert wenn ich den selben Seitentyp nehme?

> Na ich würde mich freuen. Und deinen Blog kannst du ja auch mal hier mit verlinken!  :D
> Das ist hier übrigens ein sehr guter und informativer Thread geworden! Sehr gut, daß du hartnäckig dran geblieben bist!  :)

Wenn ich die Sachen dokumentiert habe, poste ich den Link.

Ohje und ich dachte immer ich nerve mit solchen Fragen, aber Respekt vor deiner Geduld, finde ich echt super :)

### [#30](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/30) · digedag · 2008-08-22

> **bastians schrieb:**
>
> <http://www.fvloechgau.de/typo3/index.php?id=367>
> Mich wundert hier, wieso die Spiele nicht geladen werden wenn ich eine andere Saison auswähle. Ist in mootools viell. Ajax nicht aktiviert?
> Normal müsste der Ansatz, den wir hier erarbeitet haben doch auch ohne rgtabs funktionieren, sofern die Ajax-Bibliotek aktiviert ist oder?

Naja, hier hast du das Problem, daß die mootools.js auf der Seite überhaupt nicht eingebunden ist. rgtabs macht das automatisch aus der Extension heraus. Ohne rgtabs musst du die Datei dann selbst einbinden.  :)

> > **digedag schrieb:**
> >
> > Ja das ist im Prinzip das gleiche. Du legst per TS neuen Seiten mit jeweils anderem Seitentyp an und bereitest da die Ausgabe vor.
>
> Ah okay, ich muss jeweils Seitentypen definieren. Was passiert wenn ich den selben Seitentyp nehme?

Dann überschreibt die zweite Seite einfach die erste. Bei Typoscript zählt immer die letzte Angabe.

> Ohje und ich dachte immer ich nerve mit solchen Fragen, aber Respekt vor deiner Geduld, finde ich echt super :)

Ist doch ein interessantes Thema. Und ich finde solche Lösungen demonstrieren auch gut die Leistungsfähigkeit von TYPO3. Ich bin immer wieder begeistert, was man in dem CMS allein durch Konfiguration alles realisieren kann!  8-)

### [#31](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/31) · bastians · 2008-08-22

> Naja, hier hast du das Problem, daß die mootools.js auf der Seite überhaupt nicht eingebunden ist. rgtabs macht das automatisch aus der Extension heraus. Ohne rgtabs musst du die Datei dann selbst einbinden.  :)

Ist nun eingebunden, aber funktioniert noch nicht.

Habe es zuerst damit versucht (aus der T3mootools Doku):

```typoscript
### Mootools einbinden ###
includeLibs.t3mootools = EXT:t3mootools/class.tx_t3mootools.php
page.10 = USER
page.10.userFunc = tx_t3mootools->addMooJS
```

Aber dann kam nur eine weiße Seite, der Quelltexte zeigte mir im Body nichts an.

Und nun habe ich es so:

```typoscript
page.headerData.100 = TEXT
page.headerData.100.value = <script type="text/javascript" src="typo3conf/ext/t3mootools/res/mootoolsv1.11.js"></script>
page.headerData.100.value = <script type="text/javascript" src="fileadmin/templates/js/t3sportscontent.js"></script>
```

Aber bringt wie gesagt niente.
Hier nochmals der Link:<http://www.fvloechgau.de/typo3/index.php?id=367>

> Ist doch ein interessantes Thema. Und ich finde solche Lösungen demonstrieren auch gut die Leistungsfähigkeit von TYPO3. Ich bin immer wieder begeistert, was man in dem CMS allein durch Konfiguration alles realisieren kann!  8-)

Das stimmt, ich merke immer mehr zu was TYPO3 eigentlich im Stande ist. wird ja von vielen nicht umsonst als zu umfangreich beurteilt ;)

So, dann fange ich mal an mit designen :)

### [#32](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/32) · digedag · 2008-08-22

> **bastians schrieb:**
>
> Habe es zuerst damit versucht (aus der T3mootools Doku):
>
> ```typoscript
> ### Mootools einbinden ###
> includeLibs.t3mootools = EXT:t3mootools/class.tx_t3mootools.php
> page.10 = USER
> page.10.userFunc = tx_t3mootools->addMooJS
> ```
>
> Aber dann kam nur eine weiße Seite, der Quelltexte zeigte mir im Body nichts an.

Verwendest du automaketemplate? Dann ist die page.10 vermutlich schon "besetzt". Wenn die 22 noch frei ist, dann könnte das funktionieren:  :)

```typoscript
### Mootools einbinden ###
includeLibs.t3mootools = EXT:t3mootools/class.tx_t3mootools.php
page.22 = USER
page.22.userFunc = tx_t3mootools->addMooJS
```

> Und nun habe ich es so:
>
> ```typoscript
> page.headerData.100 = TEXT
> page.headerData.100.value = <script type="text/javascript" src="typo3conf/ext/t3mootools/res/mootoolsv1.11.js"></script>
> page.headerData.100.value = <script type="text/javascript" src="fileadmin/templates/js/t3sportscontent.js"></script>
> ```

Auch hier überschreibst du einfach einen bestehenden Wert (siehe Kommentare):

```typoscript
# Hier wird in der 100 ein Typoscript TEXT-Objekt definiert
page.headerData.100 = TEXT
# Diesem wird nun ein Wert zugewiesen
page.headerData.100.value = <script type="text/javascript" src="typo3conf/ext/t3mootools/res/mootoolsv1.11.js"></script>
# Und jetzt wird der Wert wieder überschrieben:
page.headerData.100.value = <script type="text/javascript" src="fileadmin/templates/js/t3sportscontent.js"></script>
```

Entweder machst du es so:

```typoscript
page.headerData.100 = TEXT
page.headerData.100.value (
 <script type="text/javascript" src="typo3conf/ext/t3mootools/res/mootoolsv1.11.js"></script>
 <script type="text/javascript" src="fileadmin/templates/js/t3sportscontent.js"></script>
)
```

Oder so:

```typoscript
page.headerData.100 = TEXT
page.headerData.100.value = <script type="text/javascript" src="typo3conf/ext/t3mootools/res/mootoolsv1.11.js"></script>
page.headerData.101 = TEXT
page.headerData.101.value = <script type="text/javascript" src="fileadmin/templates/js/t3sportscontent.js"></script>
```

Die Zahlen kannst du übrigens frei wählen. Sie dürfen nur noch nicht in Verwendung sein. Um das zu überprüfen, hilft dann die Allzweckwaffe TS-Object-Browser!  :)

### [#33](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/33) · bastians · 2008-08-22

TYPO3 für Anfänger ist das hier :) Danke.

Aber: Funktioniert leder alles nicht. Ajax ist aber aktiviert in T3Mootools.

### [#34](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/34) · digedag · 2008-08-22

Firebug meldet, daß es kein DIV mit der ID "matchs" mehr auf der Seite gibt... Das hast du bestimmt aus deinem HTML-Template "rausoptimiert".  ;)

### [#35](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/35) · bastians · 2008-08-22

> **digedag schrieb:**
>
> Firebug meldet, daß es kein DIV mit der ID "matchs" mehr auf der Seite gibt... Das hast du bestimmt aus deinem HTML-Template "rausoptimiert".  ;)

Haha, ja das ist mir vorhin als ich unterwegs war auch eingefallen. Geht nun, aber das Loading-Image fehlt.

Und noch etwas allgemeines: habe mein eigenes Template gebastelt und eingebunden. Eigene CSS (via TS eingebunden) und eigene Klassen definiert.
Wechselt man nun die Saison, wird die Änderung dort nicht angezeigt. Wechsel ich wieder zurück wird auch hier wieder das Standard-Template angezeigt und meine Formatierungen sind futsch.
Ist das bei dir auch so? Cache habe ich geleert.

Habe nun auch versucht, die ein Profil zu erstellen und den Saison-Switch eingebaut. Wenn du es mal testest siehst du, dass er beim Wechsel die Spiele lädt. Liegt daran, dass ich den Page-Type nicht geändert habe bzw. dass man bei den Berichten kein Scope-Template angeben kann.
Absicht oder habe ich es übersehen? Bei der Ligaverwaltung gibt es ja ein extra Feld.

### [#36](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/36) · digedag · 2008-08-25

> **bastians schrieb:**
>
> Und noch etwas allgemeines: habe mein eigenes Template gebastelt und eingebunden. Eigene CSS (via TS eingebunden) und eigene Klassen definiert.
> Wechselt man nun die Saison, wird die Änderung dort nicht angezeigt. Wechsel ich wieder zurück wird auch hier wieder das Standard-Template angezeigt und meine Formatierungen sind futsch.
> Ist das bei dir auch so? Cache habe ich geleert.

Also bei der Optik habe ich keine Probleme gesehen. Aber nach paarmal in den Tabs hin und her wechseln, erfolgt in der Select-Box kein Ajax-Request mehr...  :o

> Habe nun auch versucht, die ein Profil zu erstellen und den Saison-Switch eingebaut. Wenn du es mal testest siehst du, dass er beim Wechsel die Spiele lädt. Liegt daran, dass ich den Page-Type nicht geändert habe bzw. dass man bei den Berichten kein Scope-Template angeben kann.
> Absicht oder habe ich es übersehen? Bei der Ligaverwaltung gibt es ja ein extra Feld.

Nee das ist keine Absicht. Das ist mir noch gar nicht aufgefallen. Wenn du schon ein Typoscript-Tab in deinem Plugin hast, dann kannst du das Template dort angeben:

```typoscript
scopeTemplate = fileadmin/datei.html
```

### [#37](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/37) · bastians · 2008-08-26

> **digedag schrieb:**
>
> > **bastians schrieb:**
> >
> > Und noch etwas allgemeines: habe mein eigenes Template gebastelt und eingebunden. Eigene CSS (via TS eingebunden) und eigene Klassen definiert.
> > Wechselt man nun die Saison, wird die Änderung dort nicht angezeigt. Wechsel ich wieder zurück wird auch hier wieder das Standard-Template angezeigt und meine Formatierungen sind futsch.
> > Ist das bei dir auch so? Cache habe ich geleert.
>
> Also bei der Optik habe ich keine Probleme gesehen. Aber nach paarmal in den Tabs hin und her wechseln, erfolgt in der Select-Box kein Ajax-Request mehr...  :o

Wenn du in den Select-Boxen hin- und herwechselst ist das bei dir nicht so, dass meine Formatierung überschrieben wird?
Bist du selbst erstaunt, wieso das so ist oder wie darf ich das Smiley deuten? ;)
Ich habe am Wochenende das DIV in welches geladen wird umbenannt, aber sowohl JS-Datei und das Spielplan-Template angepasst. Cache habe ich geleert. Habe auch mal das Modul für das Mannschaftsprofil entfernt, aber es ist immernoch da, obwohl gelöscht, Cache geleert...irgendwas läuft hier schief?!

> Nee das ist keine Absicht. Das ist mir noch gar nicht aufgefallen. Wenn du schon ein Typoscript-Tab in deinem Plugin hast, dann kannst du das Template dort angeben:
>
> ```typoscript
> scopeTemplate = fileadmin/datei.html
> ```

Okay, super, werde ich einbauen.
Werde auch mal eine Sammlung von TS-Code für T3sports anfertigen.

### [#38](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/38) · digedag · 2008-08-26

> **bastians schrieb:**
>
> > **digedag schrieb:**
> >
> > Also bei der Optik habe ich keine Probleme gesehen. Aber nach paarmal in den Tabs hin und her wechseln, erfolgt in der Select-Box kein Ajax-Request mehr...  :o
>
> Wenn du in den Select-Boxen hin- und herwechselst ist das bei dir nicht so, dass meine Formatierung überschrieben wird?
> Bist du selbst erstaunt, wieso das so ist oder wie darf ich das Smiley deuten? ;)

Ja ich hab mich gewundert, warum mal geladen wird und dann wieder nicht. Zumal kein JS-Fehler auftritt. Ich hab die Ursache aber gefunden: Der neue Spielplan wird dann einfach in einem anderen Tab geladen. Also ich hab erst in Profile die Saison gewechselt. Danach das gleich unter Spielplan und nichts tut sich - anscheinend! Tatsächlich wird der Spielplan unter Profile wieder gewechselt. Da verschwinden übrigens auch die CSS-Formatierungen.

Ein Problem ist definitiv die Antwort des Ajax-Request. Schau dir mal den Quellcode dieser Seite an:
<http://www.fvloechgau.de/typo3/index.php?id=herren1&cfc_league_fe%5Bsaison%5D=5&cHash=94b5a95a6e&type=500>
In dieser Antwort ist wieder das DIV mit der ID **matchs** enthalten. Das ist falsch. Denn dieses gibt es ja schon auf der Seite. Es ist der Zielcontainer für den Ajax-Call. Nach dem Request ist es doppelt in der Seite enthalten. Damit hast du schon keinen validen HTML-Code mehr, da ID ausdrückt, daß es nur genau einmal auf der Seite vorhanden ist.

Also pack das DIV aus dem Template für den Ajax-Call raus. Außerdem benötigst du für jedes Tab ein eindeutiges DIV als Zielcontainer. Damit die Daten auch immer im richtigen Tab landen. Hier musst du dann die JS-Funktion **searchUrl** nochmal anpassen. Das Ziel-DIV muss mit als Parameter übergeben werden:

```javascript
function searchUrl(url, divId) {
  var listDiv = $(divId).empty().addClass('rgtabs-ajax-loading');
  new Ajax(url, {
  method: 'get',
  update: $(divId),
  evalScripts: true,
  onComplete: function() {listDiv.removeClass('rgtabs-ajax-loading');}
  }).request();
}
```

Für den Spielplan muss der Aufruf dann in der Selectbox so aussehen:

```html
<select name="action" onchange="searchUrl(this.options[this.selectedIndex].value, 'matchs');">
```

Bevor das nicht in Ordnung ist, brauchst du dich über andere Nebeneffekte nicht zu wundern... ;)

### [#39](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/39) · bastians · 2008-08-26

Aah, okay, ich brauche für jedes Tab einen eigenen DIV, okay.

Habe ich so umgesetzt, auch einen neuen Seiten-Typ angelegt (501) und das im Scope für das Profil hinterlegt. Irgendwie bekomme ich das DIV matchs aber nicht mehr heraus. Ich habe die DIVs der Tabs nun so benannt, dass immer ein "ajax_" davor steht, d.h. das DIV matchs existiert gar nicht mehr. Außerdem zeigt mir Firebug das DIV ja innerhalb meiner neuen "ajax_..."-DIVS an?!

Ich habe den Templates-Ordner von T3sports aus dem Hauptverzeichnis nach "fileadmin/templates/t3sports" kopiert. Im Hauptverzeichnis existieren sie noch. Anfangs hatte ich da das DIV "matchs" mal eingebaut, aber auch wieder gelöscht.

### [#40](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/40) · bastians · 2008-08-26

Jetzt lädt er nicht mehr den Spielplan bei den Profilen.
Ich hatte den neuen Seiten kopiert und die Zahl abgeändert, nicht jedoch den spezifischen TS-Code.
Alter Code:

```typoscript
profiles = PAGE
profiles {
  typeNum=501
  config.disableAllHeaderCode = 1
  config.metaCharset = utf-8
  config.additionalHeaders = Content-Type:text/html;charset=utf-8
  config.xhtml_cleaning = 0
  config.admPanel = 0
  config.sendNoCacheHeaders = 1
  config.no_cache = 1
  10 < plugin.tx_cfcleaguefe_competition
  10.action = tx_cfcleaguefe_actions_MatchTable
  10.clubSelection = 3
  10.groupSelection = 33
  10.saisonSelectionInput = 1
}
```

neuer Code:

```typoscript
profiles = PAGE
profiles {
  typeNum=501
  config.disableAllHeaderCode = 1
  config.metaCharset = utf-8
  config.additionalHeaders = Content-Type:text/html;charset=utf-8
  config.xhtml_cleaning = 0
  config.admPanel = 0
  config.sendNoCacheHeaders = 1
  config.no_cache = 1
}
```

Was mir hier auffällt.
Dieser Code:

```typoscript
  10 < plugin.tx_cfcleaguefe_competition
  10.action = tx_cfcleaguefe_actions_MatchTable
  10.clubSelection = 3
  10.groupSelection = 33
  10.saisonSelectionInput = 1
```

Der ist ja für ein bestimmtes Team.
Heißt das, dass ich am Ende für jedes Team pro DIV einen Seiten-Typ anlegen muss? D.h. bei 20 Teams und 4 Tabs 80 Seiten-Typen?

### [#41](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/41) · digedag · 2008-08-26

> **bastians schrieb:**
>
> Habe ich so umgesetzt, auch einen neuen Seiten-Typ angelegt (501) und das im Scope für das Profil hinterlegt.

Von der Seite kommt aber noch kein Ergebnis:
<http://www.fvloechgau.de/typo3/index.php?id=herren1&cfc_league_fe%5Bsaison%5D=6&cHash=61fdae8971&type=501>

> Irgendwie bekomme ich das DIV matchs aber nicht mehr heraus.

Also, ich kann es nicht mehr entdecken...

> Ich habe die DIVs der Tabs nun so benannt, dass immer ein "ajax_" davor steht, d.h. das DIV matchs existiert gar nicht mehr. Außerdem zeigt mir Firebug das DIV ja innerhalb meiner neuen "ajax_..."-DIVS an?!

Paßt ja auch. Der Spielplan wird ja nun immer im richtigen Tab geladen.

Deine CSS-Formatierung geht übrigens verloren, weil in den Ajax-Templates die falschen Klassen verwendet werden: **cfcleague-matchtable-row1**. Du hast aber Formatierungen für **matchtable1-row1**...
Da kannst du dir mal die Web-Developer-Extension für Firefox mit installieren. Damit findet man die Ursache für solche Probleme auch schnell.  :)

### [#42](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/42) · bastians · 2008-08-26

> Von der Seite kommt aber noch kein Ergebnis:
> <http://www.fvloechgau.de/typo3/index.php?id=herren1&cfc_league_fe%5Bsaison%5D=6&cHash=61fdae8971&type=501>

Da habe ich den Code gepostet, weiß nicht, ob du es vielleicht übersehen hast:
[/d/80771-t3sports-cfcleague-mit-rgtabs/40](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/40)

> Also, ich kann es nicht mehr entdecken...

Liegt wohl daran, dass ich den TS-Code vom Spielplan noch drin hatte.

> Deine CSS-Formatierung geht übrigens verloren, weil in den Ajax-Templates die falschen Klassen verwendet werden: **cfcleague-matchtable-row1**. Du hast aber Formatierungen für **matchtable1-row1**...
> Da kannst du dir mal die Web-Developer-Extension für Firefox mit installieren. Damit findet man die Ursache für solche Probleme auch schnell.  :)

Ja, habe die Klassen in meinen Templates umbenannt. Auf der ersten Seite übernimmt er die ja auch, aber beim Wechsel nicht mehr. Wieso?

### [#43](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/43) · digedag · 2008-08-27

> **bastians schrieb:**
>
> > Von der Seite kommt aber noch kein Ergebnis:
> > <http://www.fvloechgau.de/typo3/index.php?id=herren1&cfc_league_fe%5Bsaison%5D=6&cHash=61fdae8971&type=501>
>
> Da habe ich den Code gepostet, weiß nicht, ob du es vielleicht übersehen hast:
> [/d/80771-t3sports-cfcleague-mit-rgtabs/40](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/40)

Du musst jeweils einen anderen View einbauen. Der "View" wird durch "action" bestimmt. Beim Spielplan ist die action **tx_cfcleaguefe_actions_MatchTable**. Weitere Views sind:

- tx_cfcleaguefe_actions_LeagueTableShow - Ligatabelle
  tx_cfcleaguefe_actions_Statistics - Statistik
  tx_cfcleaguefe_actions_TeamList - Teamliste
  tx_cfcleaguefe_actions_MatchCrossTable - Kreuztabelle
  tx_cfcleaguefe_actions_LeagueTableAllTime - Langzeittabelle

Die komplette Liste findest du in den XML-Dateien flexform_competition.xml und flexform_report.xml
Bei Report ist das Plugin dann aber **plugin.tx_cfcleaguefe_report**

> **bastians schrieb:**
>
> > Deine CSS-Formatierung geht übrigens verloren, weil in den Ajax-Templates die falschen Klassen verwendet werden: **cfcleague-matchtable-row1**. Du hast aber Formatierungen für **matchtable1-row1**...
>
> Ja, habe die Klassen in meinen Templates umbenannt. Auf der ersten Seite übernimmt er die ja auch, aber beim Wechsel nicht mehr. Wieso?

Du hast doch bestimmt zwei HTML-Templates für den Spielplan. Eines für die Erstanzeige und ein zweites für die Ajax-Antwort. In letzterem sind die Klassen noch falsch...

### [#44](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/44) · bastians · 2008-08-28

> Du musst jeweils einen anderen View einbauen. Der "View" wird durch "action" bestimmt. Beim Spielplan ist die action **tx_cfcleaguefe_actions_MatchTable**. Weitere Views sind:
>
> - tx_cfcleaguefe_actions_LeagueTableShow - Ligatabelle
>   tx_cfcleaguefe_actions_Statistics - Statistik
>   tx_cfcleaguefe_actions_TeamList - Teamliste
>   tx_cfcleaguefe_actions_MatchCrossTable - Kreuztabelle
>   tx_cfcleaguefe_actions_LeagueTableAllTime - Langzeittabelle
>
> Die komplette Liste findest du in den XML-Dateien flexform_competition.xml und flexform_report.xml
> Bei Report ist das Plugin dann aber **plugin.tx_cfcleaguefe_report**

Okay, die Teamliste habe ich in der Doku nicht gefunden, dann weiß ich ja nun, wo ich schauen muss.
Noch zwei Fragen zum Verständnis, dann sollte ich es kapiert haben:
1. Ich habe die Seiten-Typen im Setup des Haupttemplates eingefügt. Ist das richtig, oder soll ich für jede Unterseite ein eigenes Template anlegen?
2. Diesen Code gebe ich in jedem Seitentyp mit an:

```typoscript
10.clubSelection = 3
10.groupSelection = 33
10.saisonSelectionInput = 1
```

D.h. dann, dass ich für 20 Mannschaften, 4 Seiten-Typen anlegen muss (Profil, Spiele, Saison, Statistik)? Oder kann ich diesen Code auch ins TS-Feld des Plugins einbauen?

> Du hast doch bestimmt zwei HTML-Templates für den Spielplan. Eines für die Erstanzeige und ein zweites für die Ajax-Antwort. In letzterem sind die Klassen noch falsch...

Nein, ich habe nur ein HTML-Template, wo und wie würde ich dann das für die AJAX-Antwort angeben? Per TS im Plugin?

Ohoh, danke danke für deine Geduld und Hilfe!

### [#45](https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs/45) · digedag · 2008-08-31

> **bastians schrieb:**
>
> Noch zwei Fragen zum Verständnis, dann sollte ich es kapiert haben:
> 1. Ich habe die Seiten-Typen im Setup des Haupttemplates eingefügt. Ist das richtig, oder soll ich für jede Unterseite ein eigenes Template anlegen?

Das kannst du halten, wie du willst. Hauptsache die Templates sind am Ende im Haupttemplate mit eingebunden. Ich würde für den Ajax-Kram ein extra Template anlegen...

> 2. Diesen Code gebe ich in jedem Seitentyp mit an:
>
> ```typoscript
> 10.clubSelection = 3
> 10.groupSelection = 33
> 10.saisonSelectionInput = 1
> ```
>
> D.h. dann, dass ich für 20 Mannschaften, 4 Seiten-Typen anlegen muss (Profil, Spiele, Saison, Statistik)? Oder kann ich diesen Code auch ins TS-Feld des Plugins einbauen?

Ähm, also du hast insgesamt zwei Plugin. Bei rgtabs gibst du ja deine Plugins an, indem du sie irgendwo in eine Seite legst. (Ich kenne rgtabs nur oberflächlich.). Mit dem Typoscript-Code für Ajax legst du ebenfalls nochmal Plugins an. Nur eben per Typoscript. Wenn du nun vier verschiedene Tabs hast, dann musst du auch vier Ajax-Seiten mit den entsprechenden Plugins/Views anlegen.

```typoscript
# Hier wird eine neue Seite angelegt
profiles = PAGE
profiles {
  # sie erhält einen speziellen TYP, der in der URL per Parameter type=501 mit angegeben werden muss.
  typeNum=501
  # Jetzt wird ein Inhalt in die Seite gelegt. In diesem Fall ein Plugin von T3sports
  10 < plugin.tx_cfcleaguefe_competition
  # Hier sagen wir dem Plugin, welcher View gezeigt werden soll
  10.action = tx_cfcleaguefe_actions_TeamList
  # Und hier wird der Scope festgelegt
  10.clubSelection = 3
  10.groupSelection = 33
  10.saisonSelectionInput = 1
}
```

Also alles, was du normalerweise per Flexform angibst, kannst und musst du hier per Typoscript konfigurieren.  :)

> > **digedag schrieb:**
> >
> > Du hast doch bestimmt zwei HTML-Templates für den Spielplan. Eines für die Erstanzeige und ein zweites für die Ajax-Antwort. In letzterem sind die Klassen noch falsch...
>
> Nein, ich habe nur ein HTML-Template, wo und wie würde ich dann das für die AJAX-Antwort angeben? Per TS im Plugin?

Im Code oben kannst du das Template für die Teamliste so angeben:

```typoscript
profiles {
  10.teamlistTemplate = fileadmin/teamliste.html
}
```

Schau dir mit dem TS-Objectbrowser die Konfiguration der beiden Plugins plugin.tx_cfcleaguefe_competition und plugin.tx_cfcleaguefe_report an. Dort findest du eigentlich alle notwendigen Informationen...

---

Quelle: „T3Sports (cfcleague) mit rgtabs“, typo3.net, https://www.typo3.net/d/80771-t3sports-cfcleague-mit-rgtabs
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
