[Frage] t3sports - "Sorry, no team found..." in Teamview TYPO3-Version: 4.7.12

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    27. 08. 2013, 09:58

    Hallo,

    ich erhalte seit kurzem auf allen Mannschaftsseiten das Resultat "Sorry, no team found...". Für die Ausgabe setze ich auf die Teamdarstellung inkl. Saisonauswahl. Ich habe dabei Konstanten für die Altersgruppe gesetzt und im Plugin den Verein konfiguriert. Demnach sollte es zu einer Ausgabe kommen, in den letzten Jahren hat das auch funktioniert.
    Ich habe auch an der Konfiguration des Moduls nichts verändert und der Fehler tritt auch erst seit kurzem auf, ich vermute im Zuge des Anlegens der Teams und der Spiele für die aktuelle, neue Saison.

    Vermutlich kommt es irgendwo zu einem Konflikt. Hat jemand eine Idee, woran es liegen könnte?

    Anhänge (1)
    20130827_Screenshot-097.jpg image/jpeg 0,00 B 254 heruntergeladen
  • Hilfreichster Beitrag

  • digedag digedag
    Jedi-Ratsmitglied
    1 x
    584 Beiträge
    3 Hilfreiche Beiträge
    31. 08. 2013, 11:48 - Hilfreichster Beitrag

    Irgendwas wird mit den Daten nicht stimmen. Versuche mal den Debug bei der Datenbankabfrage zu aktivieren. In dem View geht das leider nur im Code. Öffne die Datei ext:cfc_league_fe/models/class.tx_cfcleaguefe_models_club.php.

    In Zeile 75 findest du diese Anweisung:
    return tx_rnbase_util_DB::doSelect($what,$from,$options,0);
    Ändere den letzten Parameter:
    return tx_rnbase_util_DB::doSelect($what,$from,$options,1);

    In der Debugausgabe wird die Datenbankabfrage angezeigt. Darin ist folgender Teil enthalten:

    c.saison IN (123) AND c.agegroup IN (26)

    Prüfe, ob die IDs für Saison und Altersklasse stimmen.


  • 1
  • digedag digedag
    Jedi-Ratsmitglied
    0 x
    584 Beiträge
    3 Hilfreiche Beiträge
    27. 08. 2013, 21:45

    Werden nur die Teams der aktuellen Saison nicht angezeigt? In dem Fall nochmal die Datenzuordnung prüfen. Hat das Team einen Wettbewerb in der aktuellen Saison? Ist das Team dem eigenen Verein zugeordnet? Das sind die zwei "beliebtesten" Fehler... ;)

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    28. 08. 2013, 10:48

    Nein, es werden gar keine Teams mehr angezeigt, auch von der vorherigen Saisons nicht. Hier mal ein Beispiel: http://www.fvloechgau.de/herren/herren-1/kader.html

    Das Team ist auch dem eigenen Verein zugeordnet und hat einen Wettbewerb. Ich habe beim Saisonwechsel pro Altersgruppe die SysOrdner kopiert und in der neuen Saison eingefügt. Ich habe dann die kopierten Wettbewerbe um die Mannschaften bereinigt, die Saison angepasst und die Mannschaften neu hinzugefügt.

    Vielleicht ist hier beim Kopieren etwas schief gelaufen? Es hat zunächst auch funktioniert, bei den ersten 3 Teams (Herren 1, Herren 2, Frauen 1).

    Ich hänge mal noch ein paar Screenshots an wie ich alles eingebunden habe. Ich habe für das Mannschaftsprofil eine Vorlage erstellt, die ich auf allen Teamseiten verknüpfe. Durch das TS in den übergeordneten Seiten werden die Altergruppen gesetzt. Bei den Spielen und Tabellen funktioniert das auch.

    Anhänge (3)
    20130828_Screenshot-098.jpg image/jpeg 0,00 B 232 heruntergeladen
    20130828_Screenshot-099.jpg image/jpeg 0,00 B 250 heruntergeladen
    20130828_Screenshot-101.jpg image/jpeg 0,00 B 231 heruntergeladen
  • digedag digedag
    Jedi-Ratsmitglied
    1 x
    584 Beiträge
    3 Hilfreiche Beiträge
    31. 08. 2013, 11:48

    Irgendwas wird mit den Daten nicht stimmen. Versuche mal den Debug bei der Datenbankabfrage zu aktivieren. In dem View geht das leider nur im Code. Öffne die Datei ext:cfc_league_fe/models/class.tx_cfcleaguefe_models_club.php.

    In Zeile 75 findest du diese Anweisung:
    return tx_rnbase_util_DB::doSelect($what,$from,$options,0);
    Ändere den letzten Parameter:
    return tx_rnbase_util_DB::doSelect($what,$from,$options,1);

    In der Debugausgabe wird die Datenbankabfrage angezeigt. Darin ist folgender Teil enthalten:

    c.saison IN (123) AND c.agegroup IN (26)

    Prüfe, ob die IDs für Saison und Altersklasse stimmen.

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    31. 08. 2013, 13:56

    Ok, danke. Die Debugging-Option habe ich bereits gesucht ;) Ich habe das Ergebnis mal als Screenshot angehängt. Die IDs für die Altergruppe und die Saison stimmen, aber sind wohl teilweise nicht überall vorhanden. Ein SQL-Fehler wird auch angezeigt. Also scheint was mit den Daten nicht zu stimmen... :(

    Anhänge (1)
    20130813_Screenshot_01.jpg image/jpeg 0,00 B 237 heruntergeladen
  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    07. 09. 2013, 13:57

    Noch ein Nachtrag: Was vielleicht auch dafür spricht, dass etwas mit den Daten nicht stimmt ist die Tatsache, dass beim Kopieren eines sysOrdners einer Alterklasse den in dem Ordner enthaltenen Mannschaften teilweise Bilder (bevorzugt von Spielern) zugewiesen werden.

    Ich hinterlege nur bei unseren Mannschaften ein Mannschaftsbild, wie dem angehängten Screenshot zu entnehmen ist werden wahllos auch bei anderen Mannschaften Bilder verknüpft. Dass muss irgendwie beim Kopiervorgang bzw. beim Einfügen passieren.

    Anhänge (2)
    130907-1353-Screenshot-01.png image/png 0,00 B 277 heruntergeladen
    130907-1355-Screenshot-02.png image/png 0,00 B 264 heruntergeladen
  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    08. 09. 2013, 12:29

    Ich habe es hinbekommen. Der SQL-Error lautete ja wie folgt:

    The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay

    Nach etwas googlen hieß es in diveresen Foren mehrfach, dass folgender Code vor der Abfrage, die den Error erzeugt, das Problem beseitigen könnte:

    1. mysql_query('SET SQL_BIG_SELECTS=1');

    Ich habe dann etwas in der Datei ext:cfc_league_fe/models/class.tx_cfcleaguefe_models_club.php herumgespielt mit dem nachstehenden Code klappt die Ausgabe wieder:

    1. function getTeams($saisonIds, $agegroups) {
    2. $what = 'distinct tx_cfcleague_teams.uid, tx_cfcleague_teams.comment, ' .
    3. 'tx_cfcleague_teams.name, tx_cfcleague_teams.short_name, ' .
    4. 'tx_cfcleague_teams.coaches, tx_cfcleague_teams.players, tx_cfcleague_teams.supporters, '.
    5. 'tx_cfcleague_teams.coaches_comment, tx_cfcleague_teams.players_comment, tx_cfcleague_teams.supporters_comment, '.
    6. 'tx_cfcleague_teams.dam_images';
    7. $from = array('tx_cfcleague_teams INNER JOIN tx_cfcleague_competition c ON FIND_IN_SET(tx_cfcleague_teams.uid, c.teams) AND c.hidden=0 AND c.deleted=0 ',
    8. 'tx_cfcleague_teams');
    9. $options = array();
    10. mysql_query('SET SQL_BIG_SELECTS=1');
    11. $options['where'] = 'tx_cfcleague_teams.club = ' . $this->uid .
    12. ' AND c.saison IN (' . $saisonIds . ')' .
    13. ' AND c.agegroup IN (' . $agegroups . ')';
    14. $options['wrapperclass'] = 'tx_cfcleaguefe_models_team';
    15.  
    16. return tx_rnbase_util_DB::doSelect($what,$from,$options,1);

    Die Ursache war also, dass die abgefragte Datenmenge zu groß war. Das wundert mich allerdings, denn an einer anderen Stelle auf der Seite lasse ich den Gesamtspielplan des Vereins für ein komplettes Jahr ausgeben, das müssten doch wesentlich mehr Daten sein als das Mannschaftsprofil einer Altersklasse? Und update-kompatibel ist die Lösung auch nicht ;)

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    18. 09. 2013, 08:50

    Noch ein Nachtrag hierzu: Ich hatte wegen dem Problem auch unseren Hoster kontaktiert. Von dort kam folgende Antwort:

    [...]
    Leider können wir diesen Wert nicht für Sie ändern, da dies in der jeweiligen Software die Sie nutzen aktiviert werden muss.

    Nähere Informationen hierüber finden Sie unter dem folgenden Link:

    http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_sql_big_selects

    Wie die SQL_BIG_SELECTS in Ihrem Skript aktiviert werden, müssen Sie gegebenfalls beim Hersteller erfragen.

    Grundsätzlich empfiehlt es sich jedoch eher, das Skript insoweit zu optimieren, dass die SELECTs verkürzt werden. Dies kann beispielsweise durch setzen von sinnvollen Indizes erreicht werden.

    Hilfestellung und weiterführende Informationen hierüber finden Sie zum Beispiel hier:

    http://docs.oracle.com/cd/E17952_01/refman-5.6-en/select-speed.html
    [...]

    Vielleicht kann man die Extension (oder rn_base?!) dahingehend anpassen?

  • 1