Zum Inhalt springen

T3Sports (cfcleague) mit rgtabs

Erstellt am 18. August 2008 · 44 Antworten · letzte Antwort am 31. August 2008 · Seite 2 von 3

Tags: Frage

bastians ·

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.

digedag ·
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:

page.headerData.100 = TEXT
page.headerData.100.value = <script type="text/javascript" src="fileadmin/js/deinedatei.js"></script>
bastians ·
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:

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.

digedag ·
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:

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! 🙂

bastians ·

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 🙂

digedag ·
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 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! 🙂

bastians ·
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 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!

digedag ·
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! 😃

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

bastians ·

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! 😃
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 🙂

digedag ·
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-)

bastians ·

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):

### 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:

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 🙂

digedag ·
bastians schrieb

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

### 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: 🙂

### 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:

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):

# 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:

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:

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! 🙂

bastians ·

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

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

digedag ·

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

bastians ·
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.

digedag ·
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:

scopeTemplate = fileadmin/datei.html
bastians ·
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:

scopeTemplate = fileadmin/datei.html

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

digedag ·
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[saison]=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:

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:

<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... 😉

bastians ·

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.

bastians ·

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:

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:

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:

  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?