[T3Sports] cfc_league_fe nextmatch Teaser

  • Hopertoper Hopertope...
    Typ im Roten Hemd
    0 x
    2 Beiträge
    0 Hilfreiche Beiträge
    10. 10. 2010, 22:49

    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

    1. temp.nextMatch < plugin.tx_cfcleaguefe_competition
    2. temp.nextMatch {
    3. action = tx_cfcleaguefe_actions_MatchTable
    4. saisonSelection = 1
    5. groupSelection = 1
    6. clubSelection = 1
    7. # matchTableTimeRangeFuture = 20
    8. # matchTableTimeRangePast = 1
    9.  
    10. matchtableTemplate = fileadmin/templates/cfc_league_fe/nextmatch_teaser.html
    11. matchtable {
    12. #limit = 1
    13. options.limit = 1
    14. # angesetzte und laufende Spiele holen
    15. # status = 0,1
    16. fields.MATCH.STATUS.OP_IN_INT = 0,1
    17. timeRangeFuture = 20
    18. timeRangePast = 1
    19. }
    20. }

    Hier auch noch die HTML dazu für den Teaser

    1. <title>Template für nächstes Spiel teaser</title>
    2. </head>
    3.  
    4. <!-- ###MATCHTABLE### start -->
    5. ###MATCHS###
    6. <div class="cfcleague-next-matchtable-next">nächstes Spiel am:</div>
    7.  
    8. ###MATCH###
    9. <div class="cfcleague-next-matchtable-date">###MATCH_DATE###</div>
    10.  
    11. <table cellspacing="0" cellpadding="0" class="cfcleague-next-matchtable-table">
    12. <tr>
    13. <td colspan="2">(###MATCH_ROUND_NAME###)</td>
    14. </tr>
    15. <tr>
    16. <td>###MATCH_HOME_LOGO###</td><td class="cfcleague-next-matchtable-row">###MATCH_HOME_SHOWTEAMLINK######MATCH_HOME_NAME######MATCH_HOME_SHOWTEAMLINK###</td>
    17. </tr>
    18. <tr>
    19. <td>vs.</td>
    20. </tr>
    21. <tr>
    22. <td>###MATCH_GUEST_LOGO###</td><td class="cfcleague-next-matchtable-row">###MATCH_GUEST_SHOWTEAMLINK######MATCH_GUEST_NAME######MATCH_GUEST_SHOWTEAMLINK###</td>
    23. </tr>
    24. </table>
    25. ###MATCH###
    26.  
    27.  
    28. ###MATCHS###
    29.  
    30. <!-- ###MATCHTABLE### end -->
    31. </body>
    32. </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.


  • 1
  • digedag digedag
    Jedi-Ratsmitglied
    0 x
    584 Beiträge
    3 Hilfreiche Beiträge
    11. 10. 2010, 09:52

    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:

    1. temp.nextMatch {
    2. matchtable {
    3. options.limit = 5
    4. # Und mal das SQL anzeigen lassen
    5. options.debug = 1
    6. }
    7. }

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

  • Hopertoper Hopertope...
    Typ im Roten Hemd
    0 x
    2 Beiträge
    0 Hilfreiche Beiträge
    11. 10. 2010, 14:26

    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

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

  • digedag digedag
    Jedi-Ratsmitglied
    0 x
    584 Beiträge
    3 Hilfreiche Beiträge
    11. 10. 2010, 15:06

    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:

    1. lib.nextMatch =< plugin.tx_cfcleaguefe_competition
    2. 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 maggo
    R2-D2
    0 x
    72 Beiträge
    0 Hilfreiche Beiträge
    09. 01. 2011, 09:09

    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 schittl
    R2-D2
    0 x
    92 Beiträge
    0 Hilfreiche Beiträge
    11. 04. 2012, 13:50

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

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

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

  • 1