Zum Inhalt springen

[T3Sports] cfc_league_fe nextmatch Teaser

Erstellt am 10. Oktober 2010 · 5 Antworten · letzte Antwort am 11. April 2012

Tags: Frage

Hopertoper ·

Hallo allerseits,

ich glaube ich hab hier schon fast alles durch gelesen was zum Theam cfc_league nextmatch Teaser geschrieben wurde nur irgendwie hat nix der Dinge hier geholfen.
Mein Problem ist das die Ausgabe meines Teaser nicht richtig funktioniert und ich irgendwie auch auf dem Schlauch stehe.
Hier mal mein TS dazu

temp.nextMatch < plugin.tx_cfcleaguefe_competition
temp.nextMatch {
  action = tx_cfcleaguefe_actions_MatchTable
   saisonSelection = 1
   groupSelection = 1
   clubSelection = 1
#  matchTableTimeRangeFuture = 20
#  matchTableTimeRangePast = 1

  matchtableTemplate = fileadmin/templates/cfc_league_fe/nextmatch_teaser.html
  matchtable {
    #limit = 1
    options.limit = 1
    # angesetzte und laufende Spiele holen
    # status = 0,1
    fields.MATCH.STATUS.OP_IN_INT = 0,1
    timeRangeFuture = 20
    timeRangePast = 1
  }
}

Hier auch noch die HTML dazu für den Teaser

<html>
<head>
<title>Template für nächstes Spiel teaser</title>
</head>
<body>
 
<!-- ###MATCHTABLE### start -->
###MATCHS###
<div class="cfcleague-next-matchtable-next">nächstes Spiel am:</div>
 
###MATCH###
<div class="cfcleague-next-matchtable-date">###MATCH_DATE###</div>
 
<table cellspacing="0" cellpadding="0" class="cfcleague-next-matchtable-table">
<tr>
<td colspan="2">(###MATCH_ROUND_NAME###)</td>
</tr>
<tr>
<td>###MATCH_HOME_LOGO###</td><td class="cfcleague-next-matchtable-row">###MATCH_HOME_SHOWTEAMLINK######MATCH_HOME_NAME######MATCH_HOME_SHOWTEAMLINK###</td>
</tr>
<tr>
<td>vs.</td>
</tr>
<tr>
<td>###MATCH_GUEST_LOGO###</td><td class="cfcleague-next-matchtable-row">###MATCH_GUEST_SHOWTEAMLINK######MATCH_GUEST_NAME######MATCH_GUEST_SHOWTEAMLINK###</td>
</tr>
</table> 
###MATCH###

 
###MATCHS###
 
<!-- ###MATCHTABLE### end -->
</body>
</html>

Problem ist dabei, dass er mir bei der Ausgabe nicht das Spiel meiner Mannschaft ausgibt, sondern das erste Spiel, was an dem Tag stattfindet. Dabei will ich ja nur die Spiele meiner Mannschaft sehen in dem Teaser.

Würde mich über Hilfe freuen.

digedag ·

Schau dir mal die Teams des falschen Spiels an. Sind da die richtigen Vereine gesetzt? Hat dein Verein wirklich die UID 1?
Wenn das stimmt, dann probier mal bissl rum:

Mehr Spiele anzeigen lassen:

temp.nextMatch {
  matchtable {
    options.limit = 5
    # Und mal das SQL anzeigen lassen
    options.debug = 1
  }
}

Das SQL kannst du im Fehlerfall mal bitte mit einstellen. Dann kann ich sehen, welche Filter genau greifen. 🙂

Hopertoper ·

Die anderen Teams sind keinen Vereinen zugeordnet. Meine Mannschaft ist, die einzige die einen Verein zugeordnet ist. Was ich auch merkwürdig finde, ist wenn ich saisonSelection, groupSelection und clubSelection auskommentiere das Selbst, da die Spiele noch angezeigt werden.

Hier mal die Ausgabe der SQL

|SELECT DISTINCT tx_cfcleague_games.* FROM tx_cfcleague_games WHERE 1=1 AND tx_cfcleague_games.status IN (0,1) AND tx_cfcleague_games.competition IN (1) AND tx_cfcleague_games.date >= 1286661600 AND tx_cfcleague_games.date < 1288476000 AND tx_cfcleague_games.deleted=0 AND tx_cfcleague_games.hidden=0 ORDER BY tx_cfcleague_games.date ASC LIMIT 1|

Hier mal noch das Bild dazu
Bild: img412.imageshack.us/…/sqlt.th.png

digedag ·

Also das SQL-Statement passt nicht zu dem Typoscript, das du oben angegeben hast.
Die Einschränkungen auf Saison, Altersklasse und Verein fehlen komplett. Dafür wird auf den Wettbewerb mit der UID 1 gefiltert, was im TS nicht angegeben ist.

Verwende mal den TS-Objectbrowser (Modul Templates) und klick eine Seite an, auf der der Teaser gezeigt wird. Schau dir dann mal den TS-Code in diesem Browser an. Prüfe, ob da noch mehr Angaben drin sind, und wo die herkommen (mit der Maus über dem Eintrag stehen bleiben, der Tooltip verrät die Quelle).
Das temp-Objekt wirst du nicht finden, sondern du musst vermutlich irgendwo innerhalb des page-Objektes deinen Teaser suchen.
Alternativ kannst du auch lib verwenden:

lib.nextMatch =< plugin.tx_cfcleaguefe_competition
lib.nextMatch {

Dann kannst du auch mit einer Referenz arbeiten, was den Speicherverbrauch senkt. Natürlich musst du dann bei der Einbindung des Teasers in der Seite auch von temp auf lib umstellen... 🙂

Der TS-Objectbrowser zeigt dir auch immer an, ob es Fehler im TS-Code auf der Seite gibt. Wenn er sowas anzeigt (Ist nicht zu übersehen), dann solltest du diese Fehler unbedingt beheben!

Was ich auch merkwürdig finde, ist wenn ich saisonSelection, groupSelection und clubSelection auskommentiere das Selbst, da die Spiele noch angezeigt werden.

Das ist normal. Je weniger du Einschränkungen machst, um so größer wird die Liste. Wenn du gar keine Einschränkungen mehr drin hast, werden alle Spiele verwendet. Angezeigt werden natürlich nur soviele, wie im Limit definiert sind.

maggo ·

Ich hatte das selbe Problem. Der Grund war, dass ich bereits VORHER auf der selben Seite die Mini-Tabelle eingebunden hatte:

temp.wasauchimmer = COA
temp.wasauchimmer.1 < plugin.tx_cfcleaguefe_competition
temp.wasauchimmer.1.action = tx_cfcleaguefe_actions_LeagueTableShow
...

meine lösung:

temp.wasauchuimmer = COA_INT
temp.wasauchimmer.1 < plugin.tx_cfcleaguefe_competition
temp.wasauchimmer.1.action = tx_cfcleaguefe_actions_LeagueTableShow
...

hinweis: wenn ich den nextmatch teaser VOR die minitabelle setze, funktioniert beides wunderbar

schittl ·

@maggo: Wenn du in der Minitabelle folgendes einträgst ist die Unterscheidung in COA & COA_INT überflüssig.

temp.wasauchimmer = COA
temp.wasauchimmer.1 < tx_cfcleaguefe_actions_LeagueTableShow
temp.wasauchimmer.1.scope.noCache = 1

So hat es bei mir geholfen mit Next/Last-Matchteaser + Minitabelle auf der selben Seite.