T3Sports (cfcleague) mit rgtabs (2)

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    31. 08. 2008, 18:01

    Zur Info: digedag und ich erarbeiten eine Lösung, sodass der Inhalt von T3Sports via AJAX geladen wird. Sobald alles läuft, folgt eine Anleitung.
    Der Thread ist die Fortsetzung von [url]http://www.typo3.net/forum/list/list_post//80771/?page=5#pid299571[/url] (wurde geschlossen)

    Das mit dem CSS funktioniert nun, habe das Template im Page-Type konfiguriert.

    Jetzt müssen wir nur noch die Profiles zum laufen bekommen, meine TS-Konfiguration sieht derzeit so aus:
    [TS]teamprofil = PAGE
    teamprofil {
    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_report
    10.action = tx_cfcleaguefe_actions_TeamView
    10.clubSelection = 3
    10.groupSelection = 33
    10.saisonSelectionInput = 1
    10.teamviewTemplate = fileadmin/templates/t3sports/mannschaftsprofil.html
    }
    [/TS]

    Habe im Plugin selbst die Altersgruppe und den Verein ausgewählt, sowie den Pfad zum Template. Im TS des Plugins habe ich den den Pfad zum Scope wiefolgt angegeben:
    [TS]scopeTemplate = fileadmin/templates/t3sports/scope_profiles.html
    [/TS]

    Und das Scope-Template habe ich mit dem Page-Type 501 ausgestattet habe:
    [HTML]<select name="action" onchange="searchUrl(this.options[this.selectedIndex].value, 'ajax_profiles');">
    ###SAISON_SELECTION_2###
    <option ###SAISON_ISCURRENT### value="/typo3/###SAISON_LINK_URL###&type=501">###SAISON_NAME###</option>
    ###SAISON_SELECTION_2###
    </select>
    [/HTML]

    Beim Aufruf der Seite erfolgt zuerst eine Ausgabe, beim Wechsel kommt dann aber [b]"Error: No club defined."[/b][/u]


  • 1
  • digedag digedag
    Jedi-Ratsmitglied
    0 x
    584 Beiträge
    3 Hilfreiche Beiträge
    07. 09. 2008, 12:05

    [quote="bastians"]Beim Aufruf der Seite erfolgt zuerst eine Ausgabe, beim Wechsel kommt dann aber [b]"Error: No club defined."[/b][/u]
    [/quote]
    Also der Teamview gehört zum Report-Plugin. Dort gibt es den Scope nur für die Saison und die Altersklasse. Den Verein muss man daher mit einem anderen Wert im Typoscript setzen:

    [TS]teamprofil {
    10.teamviewClub = 3
    }[/TS]

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    07. 09. 2008, 12:32

    Läuft, super, dankeschön :-)

    Nun versuche ich mich daran, eine Saison-Selektion sowie eine Spieltags-Selektion auf einer Seite zu integrieren. Werde mich melden, wenn es zu Problemen kommt.

  • sefer sefer
    Sternenflotten-Admiral
    0 x
    175 Beiträge
    0 Hilfreiche Beiträge
    27. 09. 2008, 15:43

    Hi Bastian,

    das mit rgtabs habe ich schonmal versucht und beobachte diesen thread ganz gespannt. Was glaubst du, wann die Anleitung fertig sein wird?

    Ciao'
    Sefer

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    11. 10. 2008, 10:23

    [quote="sefer"]
    Hi Bastian,

    das mit rgtabs habe ich schonmal versucht und beobachte diesen thread ganz gespannt. Was glaubst du, wann die Anleitung fertig sein wird?

    Ciao'
    Sefer
    [/quote]

    Hi, sorry, ich war im Urlaub deshalb erst jetzt meine Antwort.
    Ich werde versuchen, in den nächsten Tagen eine Anleitung im Wiki der Extension einzustellen. Bisher funktioniert es aber nur mit einer Scopeselection, wenn zwei auf einer Seite sind - z.B. Saison-Selektion und Spieltags-Selektion - geht es noch nicht aber das bekommen wir auch noch hin. Ich poste den Link dann hier.

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    01. 05. 2009, 04:13

    Hi Leute!

    Da hier schon länger nichts weiter gegangen ist, und ich selbst tabs haben wollte, hab ich auf die Schnelle meine eigene Lösung zusammengebastelt.

    Ziel des Unterfangens war es, einen Matchreport (Live-Ticker) zusammen zu bekommen, der sich automatisch aktualisiert und gewisse Inhalte in mehreren Tabs anzeigt, allerdings in unterschiedlichen Formatierungen. Des Weiteren soll die Konfiguration der Tabs dynamisch erfolgen können.

    Ein Beispiel findet ihr hier: [url]http://www.gak.at/index.php?id=172&cfc_league_fe[matchId]=582&cHash=cb04f675de[/url]

    Wenn Interesse besteht wie ich das gemacht habe, werde ich meine Lösung hier posten.

    LG, Flo.

  • bastians bastians
    Sternenflotten-Admiral
    0 x
    225 Beiträge
    0 Hilfreiche Beiträge
    01. 05. 2009, 09:46

    Erzähl mal bitte. Hast du es denn auch probiert, wenn DropDowns eingebaut sind?

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    03. 05. 2009, 00:14

    hi!
    Dropdowns habe ich keine drinnen, allerdings wüsste ich nicht, warum Dropdowns Probleme machen sollten!

    Viel wahrscheinlicher ist es, dass im JavaScript (onload()) was faul ist.

    Zur Zeit habe ich leider keinen Zugriff auf meine Seite, weil der Provider auf einen anderen Server siedelt. Somit muss ich die Details zu meiner Lösung leider noch ein Weilchen schuldig bleiben.

    Aber ein, zwei Tage sollten jetzt auch schon egal sein ;)

    LG, Flo.

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    10. 05. 2009, 05:40

    So Leute, hab jetzt endlich genügend Zeit um meine Lösung zu veröffentlichen!

    Da man hier leider keine Dateien anhängen kann wird das jetzt ein Monsterpost ;)

    Zuerst mal das Template meines Livetickers:
    [TS]config {
    doctype = xhtml_strict
    xhtml_cleaning = all
    htmlTag_langKey = de
    doctypeSwitch = {$doctypesw_cond}
    }

    # Default PAGE object:
    seite = PAGE
    # Kompatibilität mit IE8
    seite.headTag (
    <head>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    )

    seite.includeJS {
    file1 = fileadmin/Templates/Liveticker/liveticker.js
    file1.type = text/javascript
    }

    seite.stylesheet = fileadmin/Templates/Liveticker/liveticker.css

    temp.header = COA
    temp.header.10 = HTML
    temp.header.10.value = {$headerImageHtmlCode}

    seite.10 = TEMPLATE
    seite.10{
    template = FILE
    template.file = fileadmin/Templates/Liveticker/liveticker.tmpl
    workOnSubparts = document

    marks.header < temp.header
    marks.inhalt < styles.content.get
    # durch nachfolgende Zeile wird dem JS ermöglicht die ContentElemente EINZELN anzufinden
    marks.inhalt.renderObj.stdWrap.dataWrap = <div id="content_{field:uid}">|</div>
    }
    plugin.tx_cfcleaguefe_report.matchreport.lineuphome.seperator = |<br/>|
    plugin.tx_cfcleaguefe_report.matchreport.match.dynaMarkers.tickerlist.cron = 0[/TS]

    Dann das Seitentemplate:

    1. <!--###DOCUMENT_HEADER###-->
    2. <!--###DOCUMENT_HEADER###-->
    3.  
    4. <!--###document###-->
    5. <table id="MainTable">
    6. <tr>
    7. <td class="shadowleft">&nbsp;</td>
    8. <td class="MainCell" >
    9. <div id="Main">
    10. <div id="header">###header###</div>
    11. <div id="Content">
    12. <div id="static">
    13. <div id="static_roundCompetition"></div> <!-- statischer Bereich (nicht-Tab) -->
    14. <div id="static_tickerHeader"></div>
    15. </div>
    16. <div id="tabsHeader"> <!-- hier werden die Tabs-Titel angezeigt - siehe "var tabsHeaderDiv" -->
    17. </div>
    18. <div id="tabsContent"> <!-- und hier der Inhalt - siehe "var tabsContentDiv" -->
    19. </div>
    20. </div>
    21. <div id="message">
    22. </div>
    23. <div id="static_content_137">
    24. </div>
    25. </div>
    26. </td>
    27. <td class="shadowright">&nbsp;</td>
    28. </tr>
    29. </table>
    30. <div id="config"><!-- es folgt die initiale Konfiguration des JS - hier NUR JS rein!!! ->
    31. <!--ConfigStart-->
    32. <script>
    33. // statische Bereiche definieren
    34. var static = new Array(
    35. 'roundCompetition', 'tickerHeader', 'content_137' // Typo3-Inhaltselement mit der UID 137
    36. );
    37. // Tabs definieren
    38. var tabs = new Array(
    39. {title: 'Übersicht', body: new Array('ticker', 'info', 'setup')},
    40. {title: 'Tickermeldungen', body: new Array('ticker')},
    41. {title: 'Aufstellung', body: new Array('info', 'setup')},
    42. {title: 'Multimedia', body: new Array('pictures')}
    43. // {title: 'Spiele dieser Runde', body: new Array('roundGames', 'liveTable')}
    44. );
    45. var firstActiveTab = 0; // welcher Tab soll beim ersten Laden der Seite angezeigt werden?
    46. var refreshRate = 30; // automatisches Aktualisierungsintervall in Sekunden
    47. var tickerAutoScroll = true; // noch nicht implementiert!!
    48. var staticDiv = 'static'; // die ID die den DIVs für static-Bereiche vorangestellt wird
    49. var tabsHeaderDiv = 'tabsHeader'; // das DIV welches die TabHeader (Titel) beinhalten soll
    50. var tabsContentDiv = 'tabsContent'; // selbiges für TabContent
    51. var messageDiv = 'message'; // und für Status-Ausgabe
    52. </script>
    53. <!--ConfigEnd-->
    54. </div>
    55. <div id="data"> <!-- hier hinein erfolg die Ausgabe der gerenderten ContentElemente - bei Klick auf einen Tab wir der Inhalt dafür aus diesem DIV geholt -->
    56. <!--DataStart-->
    57. ###inhalt###
    58. <!--DataEnd-->
    59. </div>
    60. <!--###document###-->

    Die JavaScript-Datei:

    1. // Initialize event depending on browser
    2. function initReady(fn) {
    3. //W3C-compliant browser
    4. if(document.addEventListener) {
    5. document.addEventListener("DOMContentLoaded", fn, false);
    6. } //IE
    7. else {
    8. document.onreadystatechange = function(){readyState(fn)}
    9. }
    10. }
    11.  
    12. //IE execute function
    13. function readyState(func) {
    14. // DOM is ready
    15. if(document.readyState == "interactive" || document.readyState == "complete") {
    16. func();
    17. }
    18. }
    19.  
    20. //do when DOM is ready
    21. function onReady() {
    22. configString = document.getElementById('config').innerHTML;
    23. b = configString.indexOf('<!--ConfigStart-->');
    24. c = configString.indexOf('<!--ConfigEnd-->');
    25. configString = configString.slice(b+18,c);
    26. b = configString.indexOf('<script type="text/javascript">');
    27. c = configString.indexOf('</script>');
    28. if (c == -1) c = configString.indexOf('</SCRIPT>');
    29. configString = configString.slice(b+32,c);
    30. eval(configString);
    31. actualTime = refreshRate;
    32. staticBox = document.getElementById(staticDiv);
    33. tabsHeaderBox = document.getElementById(tabsHeaderDiv);
    34. tabsContentBox = document.getElementById(tabsContentDiv);
    35. dataBox = document.getElementById('data');
    36. buildTabs();
    37. copyContent();
    38. countdown();
    39. }
    40.  
    41. function buildTabs() {
    42. var tabsHeaderInnerThing = "";
    43. var alreadyIn;
    44. for (i in tabs) {
    45. tabsHeaderInnerThing += '<div id="tabHeader_' + tabs[i].title + '"><a href="javascript:switchTab(' + i + ')" ><span>' + tabs[i].title + '</span></a></div>';
    46. for (j in tabs[i].body) {
    47. alreadyIn = false;
    48. for (k in tabBodyDivs) {
    49. if (tabBodyDivs[k] == tabs[i].body[j]) alreadyIn = true;
    50. }
    51. if (!alreadyIn) tabBodyDivs[tabBodyDivs.length] = tabs[i].body[j];
    52. }
    53. }
    54. tabsHeaderBox.innerHTML = tabsHeaderInnerThing;
    55.  
    56. var tabsBodyInnerThing = "";
    57. for (var i = 0; i < tabBodyDivs.length; i++) {
    58. tabsBodyInnerThing += '<div id="tabBody_' + tabBodyDivs[i] + '"></div>';
    59. }
    60. tabsContentBox.innerHTML = tabsBodyInnerThing;
    61. switchTab(firstActiveTab);
    62. }
    63.  
    64. function switchTab(tabIndex) {
    65. var isIn;
    66. for (i in tabs) {
    67. tempElement = document.getElementById('tabHeader_' + tabs[i].title);
    68. tempAttribute = document.createAttribute('class');
    69. if (i == tabIndex) {
    70. tempAttribute.value = 'active';
    71. } else {
    72. tempAttribute.value = 'inactive';
    73. }
    74. tempElement.attributes.setNamedItem(tempAttribute);
    75. }
    76. for (i in tabBodyDivs) {
    77. isIn = false;
    78. for (j in tabs[tabIndex].body) {
    79. if (tabBodyDivs[i] == tabs[tabIndex].body[j]) isIn = true;
    80. }
    81. tempElement = document.getElementById('tabBody_' + tabBodyDivs[i]);
    82. tempAttribute = document.createAttribute('class');
    83. if (!isIn) {
    84. tempAttribute.value = 'disabled';
    85. } else {
    86. tempAttribute.value = 'tabBody_' + tabs[tabIndex].title + '_' + tabBodyDivs[i];
    87. }
    88. tempElement.attributes.setNamedItem(tempAttribute);
    89. }
    90. }
    91.  
    92. function copyContent() {
    93. for (i in static) {
    94. var source = document.getElementById(static[i]);
    95. var target = document.getElementById('static_' + static[i]);
    96. validateAndCopy(source, target);
    97. }
    98. for (i in tabBodyDivs) {
    99. var source = document.getElementById(tabBodyDivs[i]);
    100. var target = document.getElementById('tabBody_' + tabBodyDivs[i]);
    101. validateAndCopy(source, target);
    102. }
    103. }
    104.  
    105. function validateAndCopy (source, target) {
    106. if (source && target && !(source.innerHTML == target.innerHTML)) {
    107. target.innerHTML = source.innerHTML;
    108. }
    109. }
    110.  
    111. // Countdown time left to refresh, display it and finally fire the refresh
    112. function countdown() {
    113. if (actualTime == 0) {
    114. document.getElementById(messageDiv).innerHTML = "Aktualisieren...<br/>&nbsp;";
    115. request(location, 'data');
    116. } else {
    117. document.getElementById(messageDiv).innerHTML = Msg + "Automatische Aktualisierung in " + actualTime + " Sekunden.";
    118. actualTime--;
    119. setTimeout('countdown()', 1000);
    120. }
    121. }
    122.  
    123. // Request the site
    124. function request(url, target) {
    125. if (window.XMLHttpRequest) {
    126. req = new XMLHttpRequest();
    127. } else if (window.ActiveXObject) {
    128. req = new ActiveXObject("Microsoft.XMLHTTP");
    129. }
    130. if (req != undefined) {
    131. req.onreadystatechange = function() {requestDone(url, target);};
    132. req.open("GET", url, true);
    133. req.send("");
    134. }
    135. }
    136.  
    137. // Handle the request
    138. function requestDone(url, target) {
    139. if (req.readyState == 4) { // only if req is "loaded"
    140. responseString = req.responseText;
    141. b = responseString.indexOf('<!--ConfigStart-->');
    142. c = responseString.indexOf('<!--ConfigEnd-->');
    143. configString = responseString.slice(b+18,c);
    144. b = configString.indexOf('<script type="text/javascript">');
    145. c = configString.indexOf('</script>');
    146. if (c == -1) c = configString.indexOf('</SCRIPT>');
    147. configString = configString.slice(b+32,c);
    148. eval(configString);
    149. b = responseString.indexOf('<!--DataStart-->');
    150. c = responseString.indexOf('<!--DataEnd-->');
    151. dataString = responseString.slice(b+16,c);
    152. if (dataString != '') {
    153. document.getElementById(target).innerHTML = dataString;
    154. copyContent();
    155. Msg = goodMsg;
    156. } else {
    157. Msg = errorMsg;
    158. }
    159. actualTime = refreshRate;
    160. countdown();
    161. }
    162. }
    163.  
    164. var errorMsg = "Aktualisierung fehlgeschlagen. Neuer Versuch...<br/>";
    165. var goodMsg = "Live-Ticker wurde erfolgreich aktualisiert!<br/>";
    166. var Msg = goodMsg;
    167. var dataDocument;
    168. var staticBox;
    169. var tabsHeaderBox;
    170. var tabsContentBox;
    171. var tabBodyDivs = [];
    172. var tempElement;
    173. var tempAttribute;
    174. var actualTime;
    175. window.onDomReady = initReady;
    176. window.onDomReady(onReady);

    Das CSS:

    1. @import url(./../typo3-RTE.css);
    2.  
    3. body { color: #222; font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif; }
    4. div { color: #222; font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif;}
    5. table { border-collapse:collapse; margin: 0px; padding: 0px;}
    6. td { padding:0px; }
    7.  
    8. html, body, #MainTable { margin: 0; padding: 0; height: 100%; border: none; }
    9.  
    10. #MainTable { width: 100%; }
    11. .shadowleft { background-image: url(./../img/background_left.png); background-position: right 0; }
    12. .shadowright { background-image: url(./../img/background_right.png); background-position: left 0; }
    13. .MainCell { width: 960px; vertical-align: top; background-color: #444; }
    14. #Main { width:960px; }
    15. #header { width:960px; height: 160px; }
    16. #Content { width: 940px; margin:0px; padding: 10px; background-color: #fff; float: left; position: relative; }
    17. #Content * { padding: 0px; }
    18. * html #Content {width: 960px; margin: 0px; padding: 10px; }
    19.  
    20. A { color: #c5000a; }
    21. A:hover { color: #c5000a;}
    22.  
    23. .disabled { display: none; visibility: hidden; }
    24. .active { font-weight: bold; border-bottom: 1px solid #ffffff !important; background-color: #ffffff; }
    25. #data { display: none; visibility: hidden; }
    26.  
    27. #message { float: left; width: 960px; align: center; text-align: center; margin: 5px 0px 10px 0px; color: #bbbbbb; }
    28.  
    29. #static { }
    30. #static_roundCompetition { font-size: 12px;
    31. align: center;
    32. text-align: center;
    33. font-weight:bold;
    34. color: #ffffff;
    35. height: 21px;
    36. line-height: 21px;
    37. background: #fc0505;
    38. background-image: url(./../img/tab_hover.gif);
    39. float: none;
    40. clear: left;
    41. border-width:0px 0px 0px 0px;
    42. margin: 0px 0px 10px 0px;
    43. }
    44. #static_tickerHeader { font-size: 24px; align: center; text-align: center; font-weight: bold; color: #c5000a; float: none; clear: left; }
    45. #static_tickerHeader table { width: 100%; }
    46. #static_tickerHeader td.tickerHeader_logoCol { width: 200px; }
    47.  
    48. #static_content_137 { align: center; text-align: center; float: none; clear: left; background-color: #444; }
    49.  
    50. #tabsHeader { float: left; width: 920px; align: center; text-align: center; padding: 0px 30px; z-index: 100; }
    51. #tabsHeader div { float: left; border: 1px solid #c5000a; margin: 0px 4px 0px 0px; background-color: #eeeeee; z-index: 100; position: relative; }
    52. #tabsHeader div:hover { background-color: #ddd; }
    53. #tabsHeader div.active { background-color: #ffffff; border: 2px solid #c5000a; }
    54. #tabsHeader div.active:hover { background-color: #ffffff; }
    55. #tabsHeader a { text-decoration: none; font-size: 14px; color: #222; line-height: 30px; padding: 0px 10px; float: left; }
    56. #tabsHeader .active a { color: #c5000a; }
    57. #tabsContent { float: left; width: 936px; height: 400px; border: 2px solid #c5000a; position: relative; top: -2px; background-color: #ffffff; }
    58.  
    59. .tabBody_Übersicht_ticker { height: 378px; width: 300px; float: left; position: absolute; top: 10px; left: 10px; }
    60. .tabBody_Übersicht_ticker #cfcleague-report-ticker { max-height: 357px; overflow: auto; border: 1px solid #c5000a; border-top: 0px; }
    61. .tabBody_Übersicht_ticker h3 {font-size: 12px; align: center; text-align: center; font-weight:bold; color: #ffffff; height: 21px; line-height: 21px; background: #fc0505; background-image: url(./../img/tab_hover.gif); float: none; clear: left; border-width:0px 0px 0px 0px; margin: 0px 0px 0px 0px; }
    62.  
    63. .tabBody_Übersicht_info { height: 70px; width: 604px; float: left; position: absolute; top: 10px; left: 320px; border: 1px solid #c5000a; background-color: #eee; }
    64. .tabBody_Übersicht_info table { width: 604px; text-align: center; v-align: middle; }
    65. .tabBody_Übersicht_info td.cfcleague-report-logo { width: 0px; visibility: hidden; }
    66.  
    67. .tabBody_Übersicht_setup { height: 298px; width: 604px; float: left; position: absolute; top: 90px; left: 320px; border: 1px solid #c5000a; border-top: 0px; }
    68. .tabBody_Übersicht_setup table { width: 604px; text-align: center; v-align: middle; }
    69. .tabBody_Übersicht_setup th { background-image: url(./../img/tab_hover.gif); line-height: 21px; color: #ffffff; }
    70.  
    71. .cfcleague-report-ticker-head { font-weight: bold; background-color: #eeeeee; }
    72. .cfcleague-ticker-score { margin: 0px 0px 0px 10px; }
    73. .cfcleague-report-ticker-msg { margin: 0px 5px 0px 10px; }
    74. .cfcleague-report-scorer { font-weight: bold; }
    75.  
    76. .tabBody_Tickermeldungen_ticker { height: 378px; width: 916px; float: left; position: absolute; top: 10px; left: 10px; }
    77. .tabBody_Tickermeldungen_ticker #cfcleague-report-ticker { max-height: 357px; overflow: auto; border: 1px solid #c5000a; border-top: 0px; }
    78. .tabBody_Tickermeldungen_ticker h3 {font-size: 12px; align: center; text-align: center; font-weight:bold; color: #ffffff; height: 21px; line-height: 21px; background: #fc0505; background-image: url(./../img/tab_hover.gif); float: none; clear: left; border-width:0px 0px 0px 0px; margin: 0px 0px 0px 0px; }
    79.  
    80. .tabBody_Aufstellung_info { height: 70px; width: 914px; float: left; position: absolute; top: 10px; left: 10px; border: 1px solid #c5000a; background-color: #eee; }
    81. .tabBody_Aufstellung_info table { width: 914px; text-align: center; v-align: middle; }
    82. .tabBody_Aufstellung_info td.cfcleague-report-logo { width: 300px; visibility: visible; }
    83.  
    84. .tabBody_Aufstellung_setup { height: 298px; width: 914px; float: left; position: absolute; top: 90px; left: 10px; border: 1px solid #c5000a; border-top: 0px; }
    85. .tabBody_Aufstellung_setup table { width: 914px; text-align: center; v-align: middle; }
    86. .tabBody_Aufstellung_setup th { background-image: url(./../img/tab_hover.gif); line-height: 21px; color: #ffffff; }
    87.  
    88. .tabBody_Multimedia_pictures { height: 378px; width: 914px; float: left; position: absolute; top: 10px; left: 10px; border: 1px solid #c5000a; border-top: 0px; }
    89. .tabBody_Multimedia_pictures #cfcleague-report-images { margin: 10px; }
    90. .tabBody_Multimedia_pictures h3 {font-size: 12px; align: center; text-align: center; font-weight:bold; color: #ffffff; height: 21px; line-height: 21px; background: #fc0505; background-image: url(./../img/tab_hover.gif); float: none; clear: left; border-width:0px 0px 0px 0px; margin: 0px 0px 0px 0px; }
    91. .tabBody_Multimedia_pictures #cfcleague-report-images img { border: 0px solid transparent; }

    Template für Matchtable:

    1. <html>
    2. <head>
    3. <title>Template für Spielplan</title>
    4. </head>
    5. <body>
    6.  
    7. <h1>Template für Spielplan</h1>
    8. <h2>Einige vorhandene Marker als Beispiel:</h2>
    9. <pre>
    10. ###MATCH### Subpart für ein Spiel
    11. ###MATCH_ROLL### Marker für den Typ einer Zeile. Dies ist eine laufende Nummer bei 0 beginnend und leaguetable.table.rowroll endend.
    12. ###MATCH_HOME_UID### Marker für UID des Heimteams
    13. ###MATCH_HOME_NAME### Marker für Name des Heimteams
    14. ###MATCH_HOME_SHORT_NAME### Marker für Kurzname des Heimteams
    15. ###MATCH_HOME_SHOWTEAMLINK### Subpart für Link auf das Heimteam
    16. ###MATCH_HOME_LOGO### Marker für das Logo des Heimteams
    17. ###MATCHCOUNT### Marker für Anzahl der Spiele
    18. ###MATCH_COMPETITION_NAME### Marker für Name des Wettbewerbs
    19. ###MATCH_COMPETITION_GROUP_NAME### Marker für Name der Altersgruppe
    20. ###MATCH_DATE### Marker für Datum des Spiels
    21. ###MATCH_GOALS_HOME### Marker für Tore des Heimteams nach Spielende
    22. ###MATCH_GOALS_GUEST### Marker für Tore des Gastteams nach Spielende
    23. ###MATCH_REPORTLINK### Marker für Link zum Spielbericht
    24. ###MATCH_TICKERLINK### Marker für Link zum Liveticker
    25. ###MATCH_GUEST_SHOWTEAMLINK### Link auf die Gastmannschaft
    26.  
    27. </pre>
    28. <p>Weitere Marker ergeben sich aus den obigen Beispielen. Statt HOME verwendet man z.B. GUEST
    29. für die Gastmannschaft.
    30. </p>
    31.  
    32. <!-- ###MATCHTABLE### start -->
    33. <div id="roundGames"> <!-- z.B. auf dieses DIV wird in JS "config" referenziert -->
    34. ###MATCHS###
    35. <table cellspacing="0" cellpadding="0" class="cfcleague-matchtable">
    36. ###MATCH###
    37. <tr class="cfcleague-matchtable-row###MATCH_ROLL### cfcleague-matchtable-rowinfo">
    38. <td colspan="10">###MATCH_ROUND_NAME###<br/>###MATCH_DATE###</td>
    39. </tr>
    40. <tr class="cfcleague-matchtable-row###MATCH_ROLL### cfcleague-matchtable-rowmatch">
    41. <td align="center">###MATCH_HOME_LOGO###</td>
    42. <td class="cfcleague-matchtable-result">
    43. <!-- ###RESULT_STATUS_0### Ergebnis vor dem Spiel -->
    44. -&nbsp;:&nbsp;-
    45. <!-- ###RESULT_STATUS_0### Ergebnis vor dem Spiel -->
    46.  
    47. <!-- ###RESULT_STATUS_-10### Ergebnis bei Spielverlegung -->
    48. abgesagt
    49. <!-- ###RESULT_STATUS_-10### Ergebnis bei Spielverlegung -->
    50.  
    51. <!-- ###RESULT_STATUS_1### Ergebnis während des Spiels -->
    52. ###MATCH_TICKERLINK######MATCH_GOALS_HOME###&nbsp;:&nbsp;###MATCH_GOALS_GUEST######MATCH_TICKERLINK###
    53. <!-- ###RESULT_STATUS_1### Ergebnis während des Spiels -->
    54.  
    55. <!-- ###RESULT_STATUS_2### Ergebnis nach Spielende -->
    56. ###MATCH_TICKERLINK######MATCH_GOALS_HOME###&nbsp;:&nbsp;###MATCH_GOALS_GUEST######MATCH_TICKERLINK###
    57. <!-- ###RESULT_STATUS_2### Ergebnis nach Spielende -->
    58. <br />###MATCH_ADDINFO###
    59. </td>
    60. <td align="center">###MATCH_GUEST_LOGO###</td>
    61. </tr>
    62. <tr class="cfcleague-matchtable-row###MATCH_ROLL### cfcleague-matchtable-rowmatch">
    63. <td align="center">###MATCH_HOME_SHOWTEAMLINK######MATCH_HOME_NAME######MATCH_HOME_SHOWTEAMLINK###</td>
    64. <td class="cfcleague-matchtable-result"></td>
    65. <td align="center">###MATCH_GUEST_SHOWTEAMLINK######MATCH_GUEST_NAME######MATCH_GUEST_SHOWTEAMLINK###</td>
    66. </tr>
    67.  
    68. <!-- ###MATCH_FREE### Team hat spielfrei -->
    69. <tr class="cfcleague-matchtable-row###MATCH_ROLL### cfcleague-matchtable-rowinfo">
    70. <td colspan="10">###MATCH_DATE### Spielfrei (###MATCH_COMPETITION_NAME###)</td>
    71. </tr>
    72. <tr class="cfcleague-matchtable-row###MATCH_ROLL### cfcleague-matchtable-rowmatch">
    73. <td>###MATCH_ROUND_NAME###</td>
    74. <td>
    75. ###MATCH_HOME_LOGO### ###MATCH_HOME_SHOWTEAMLINK######MATCH_HOME_NAME######MATCH_HOME_SHOWTEAMLINK###
    76. ###MATCH_GUEST_SHOWTEAMLINK######MATCH_GUEST_NAME######MATCH_GUEST_SHOWTEAMLINK### ###MATCH_GUEST_LOGO###</td>
    77. <td>-</td>
    78. <td>spielfrei</td>
    79. <td class="cfcleague-matchtable-result">&nbsp;</td>
    80. </tr>
    81. <!-- ###MATCH_FREE### Team hat spielfrei -->
    82. ###MATCH###
    83. </table>
    84.  
    85. <!-- ###PAGEBROWSER### START -->
    86. <div class="t3sports-pagebrowser">
    87. ###PAGEBROWSER_CURRENT_PAGE### Seite ###PAGEBROWSER_CURRENT_PAGE_NUMBER### ###PAGEBROWSER_CURRENT_PAGE###
    88.  
    89. ###PAGEBROWSER_NORMAL_PAGE###
    90. ###PAGEBROWSER_NORMAL_PAGE_LINK###Seite ###PAGEBROWSER_NORMAL_PAGE_NUMBER### ###PAGEBROWSER_NORMAL_PAGE_LINK###
    91. ###PAGEBROWSER_NORMAL_PAGE###
    92.  
    93. ###PAGEBROWSER_PREV_PAGE###&nbsp;###PAGEBROWSER_PREV_PAGE_LINK###<###PAGEBROWSER_PREV_PAGE_LINK###&nbsp;###PAGEBROWSER_PREV_PAGE###
    94.  
    95. ###PAGEBROWSER_NEXT_PAGE###&nbsp;###PAGEBROWSER_NEXT_PAGE_LINK###>###PAGEBROWSER_NEXT_PAGE_LINK###&nbsp;###PAGEBROWSER_NEXT_PAGE###
    96.  
    97. ###PAGEBROWSER_FIRST_PAGE### ###PAGEBROWSER_FIRST_PAGE_LINK### |< ###PAGEBROWSER_FIRST_PAGE_LINK### ###PAGEBROWSER_FIRST_PAGE###
    98.  
    99. ###PAGEBROWSER_LAST_PAGE### ###PAGEBROWSER_LAST_PAGE_LINK### >| ###PAGEBROWSER_LAST_PAGE_LINK### ###PAGEBROWSER_LAST_PAGE###
    100. </div>
    101. <!-- ###PAGEBROWSER### END -->
    102.  
    103. ###MATCHCOUNT### Spiele gefunden.
    104. ###MATCHS###
    105. </div>
    106.  
    107. <!-- ###MATCHTABLE### end -->
    108. </body>
    109. </html>

    Template für Matchreport:

    1. <html>
    2. <head>
    3. <title>HTML-Template for match report</title>
    4. </head>
    5. <body>
    6. ###MATCHREPORT###
    7. <div id="roundCompetition">
    8. ###MATCH_ROUND_NAME### ###MATCH_COMPETITION_NAME###
    9. </div>
    10. <div id="tickerHeader">
    11. <table>
    12. <tr>
    13. <td class="tickerHeader_logoCol">###MATCH_HOME_LOGO###</td>
    14. <td>
    15. ###MATCH_HOME_NAME### - ###MATCH_GUEST_NAME###<br />
    16. ###MATCH_GOALS_HOME### : ###MATCH_GOALS_GUEST###
    17. </td>
    18. <td class="tickerHeader_logoCol">###MATCH_GUEST_LOGO###</td>
    19. </tr>
    20. </table>
    21. </div>
    22. <div id="ticker">
    23. <h3>Live-Ticker</h3>
    24. <div id="cfcleague-report-ticker">
    25. <div id="cfcleague-report-ticker-author">###MATCH_LIVETICKER_AUTHOR###</div>
    26. ###MATCH_TICKERLIST###
    27. </div>
    28. </div>
    29. <div id="setup">
    30. <table>
    31. <tr>
    32. <th><b>###MATCH_HOME_NAME###</b></td>
    33. <th></td>
    34. <th><b>###MATCH_GUEST_NAME###</b></td>
    35. </tr>
    36. <tr>
    37. <td class="cfcleague-report-coach">###MATCH_COACHNAMES_HOME###</td>
    38. <td class="cfcleague-report-coach-head">Trainer</td>
    39. <td class="cfcleague-report-coach">###MATCH_COACHNAMES_GUEST###</td>
    40. </tr>
    41. <tr>
    42. <td class="cfcleague-report-team">###MATCH_LINEUP_HOME###</td>
    43. <td class="cfcleague-report-team-head">Aufstellung</td>
    44. <td class="cfcleague-report-team">###MATCH_LINEUP_GUEST###</td>
    45. </tr>
    46. <tr>
    47. <td class="cfcleague-report-subst">###MATCH_SUBSTNAMES_HOME###</td>
    48. <td class="cfcleague-report-subst-head">Reserve</td>
    49. <td class="cfcleague-report-subst">###MATCH_SUBSTNAMES_GUEST###</td>
    50. </tr>
    51. <tr>
    52. <td class="cfcleague-report-scorer">###MATCH_SCORERHOME###</td>
    53. <td class="cfcleague-report-scorer-head">Torsch&uuml;tzen</td>
    54. <td class="cfcleague-report-scorer">###MATCH_SCORERGUEST###</td>
    55. </tr>
    56. </table>
    57. </div>
    58. <div id="info">
    59. <table id="cfcleague-report-introtable">
    60. <tr>
    61. <td class="cfcleague-report-logo">###MATCH_HOME_LOGO###</td>
    62. <td class="cfcleague-report-intro">
    63. Stadion: <b>###MATCH_STADIUM###</b><br />
    64. Datum: <b>###MATCH_DATE###</b><br />
    65. Schiedsrichter: <b>###MATCH_REFEREENAMES###</b><br />
    66. SRA: <b>###MATCH_ASSISTSNAMES###</b><br />
    67. Zuschauer: <b>###MATCH_VISITORS###</b><br />
    68. </td>
    69. <td class="cfcleague-report-logo">###MATCH_GUEST_LOGO###</td>
    70. </tr>
    71. </table>
    72. </div>
    73. <div id="pictures">
    74. <h3>Bilder vom Spiel</h3>
    75. <!-- ###MATCH_PICTURES### begin -->
    76. <div id="cfcleague-report-images">
    77. ###MATCH_FIRST_PICTURE_IMGTAG###
    78. <!-- ###MATCH_PICTURE### begin -->
    79. ###MATCH_PICTURE_IMGTAG###
    80. <!-- ###MATCH_PICTURE### end -->
    81. </div>
    82. <!-- ###MATCH_PICTURES### end -->
    83. </div>
    84.  
    85. ###MATCHREPORT###
    86. </body>
    87. </html>
    88.  
    89.  
    90. <div id "cfcleague-report-main">
    91. <h3 class="cfcleague-report-head3">
    92. ###MATCH_ROUND_NAME### ###MATCH_COMPETITION_NAME###
    93. </h3>
    94.  
    95. <h1 class="cfcleague-report-head1">
    96. ###MATCH_HOME_NAME### - ###MATCH_GUEST_NAME###<br/>
    97. ###MATCH_GOALS_HOME### : ###MATCH_GOALS_GUEST###
    98. </h1>
    99.  
    100. <table id="cfcleague-report-introtable">
    101. <tr>
    102. <td class="cfcleague-report-logo">###MATCH_HOME_LOGO###</td>
    103. <td class="cfcleague-report-intro">
    104. Stadion: <b>###MATCH_STADIUM###</b><br />
    105. Datum: <b>###MATCH_DATE###</b><br />
    106. Schiedsrichter: <b>###MATCH_REFEREENAMES###</b><br />
    107. SRA: <b>###MATCH_ASSISTSNAMES###</b><br />
    108. Zuschauer: <b>###MATCH_VISITORS###</b><br />
    109. </td>
    110. <td class="cfcleague-report-logo">###MATCH_GUEST_LOGO###</td>
    111. </tr>
    112. </table>
    113.  
    114. <div id="cfcleague-report-teams">
    115. <table id="cfcleague-report-statstable">
    116. <tr>
    117. <td><b>###MATCH_HOME_NAME###</b></td>
    118. <td></td>
    119. <td><b>###MATCH_GUEST_NAME###</b></td>
    120. </tr>
    121. <tr>
    122. <td class="cfcleague-report-coach">###MATCH_COACHNAMES_HOME###</td>
    123. <td class="cfcleague-report-coach-head">Trainer</td>
    124. <td class="cfcleague-report-coach">###MATCH_COACHNAMES_GUEST###</td>
    125. </tr>
    126. <tr>
    127. <td class="cfcleague-report-team">###MATCH_LINEUP_HOME###</td>
    128. <td class="cfcleague-report-team-head">Aufstellung</td>
    129. <td class="cfcleague-report-team">###MATCH_LINEUP_GUEST###</td>
    130. </tr>
    131. <tr>
    132. <td class="cfcleague-report-subst">###MATCH_SUBSTNAMES_HOME###</td>
    133. <td class="cfcleague-report-subst-head">Reserve</td>
    134. <td class="cfcleague-report-subst">###MATCH_SUBSTNAMES_GUEST###</td>
    135. </tr>
    136.  
    137. <tr>
    138. <td class="cfcleague-report-scorer">###MATCH_SCORERHOME###</td>
    139. <td class="cfcleague-report-scorer-head">Torsch&uuml;tzen</td>
    140. <td class="cfcleague-report-scorer">###MATCH_SCORERGUEST###</td>
    141. </tr>
    142.  
    143. <!-- <tr>
    144. <td class="cfcleague-report-changes-head">Wechsel</td>
    145. <td class="cfcleague-report-changes"></td>
    146. <td class="cfcleague-report-changes"></td>
    147. </tr>
    148. <tr>
    149. <td class="cfcleague-report-penalties-head">Karten</td>
    150. <td class="cfcleague-report-penalties"></td>
    151. <td class="cfcleague-report-penalties"></td>
    152. </tr>
    153. -->
    154. </table>
    155. </div>
    156. </div>
    157. <!-- ###MATCH_MEDIAS### begin -->
    158. <div id="cfcleague-report-media">
    159. <h2>Trainerkommentare</h2>
    160. <!-- ###MATCH_MEDIA### begin -->
    161. ###MATCH_MEDIA_PLAYER###
    162. <!-- ###MATCH_MEDIA### end -->
    163. </div>
    164. <!-- ###MATCH_MEDIAS### end -->
    165.  
    166. <div id="cfcleague-report-summary-author">
    167. <p>###MATCH_GAME_REPORT_AUTHOR###</p>
    168. </div>
    169.  
    170. <div id="cfcleague-report-summary-text">
    171. ###MATCH_GAME_REPORT###
    172. </div>
    173.  
    174. <?php
    175. /**** Der Liveticker **************************/
    176. ?>
    177.  
    178. <h3>Live-Ticker</h3>
    179. <div id="cfcleague-report-ticker">
    180. <div id="cfcleague-report-ticker-author">###MATCH_LIVETICKER_AUTHOR###</div>
    181. ###MATCH_TICKERLIST###
    182. </div>
    183. <form name="Formular1" action="">
    184. <input type="checkbox" name="Options" value="autoScroll">Automatischer Bildlauf<br/>
    185. </form>
    186. <span id="messageBox"></span>
    187. <!--
    188. ###MATCH_NOTES###
    189. ###MATCH_NOTE###
    190. ###MATCH_NOTE_MINUTE### - ###MATCH_NOTE_PLAYER### - ###MATCH_NOTE_TEXT###
    191. ###MATCH_NOTE###
    192. ###MATCH_NOTES###
    193. -->
    194.  
    195.  
    196. <!-- ###MATCH_PICTURES### begin -->
    197. <div id="cfcleague-report-images">
    198. ###MATCH_FIRST_PICTURE_IMGTAG###
    199. <!-- ###MATCH_PICTURE### begin -->
    200. ###MATCH_PICTURE_IMGTAG###
    201. <!-- ###MATCH_PICTURE### end -->
    202. </div>
    203. <!-- ###MATCH_PICTURES### end -->
    204.  
    205. <!--
    206. ###MARKERMODULE__CHARTMATCH###
    207.  
    208. ###MARKERMODULE__MATCHHISTORY###
    209. -->
    210.  
    211.  
    212.  
    213.  
    214.  
    215.  
    216. ###HISTORIC_MATCHES###
    217. ###MATCHS###
    218. <table cellspacing="0" cellpadding="0" class="cfcleague-matchtable">
    219.  
    220. ###MATCH###
    221. <tr class="cfcleague-matchtable-row###MATCH_ROLL### cfcleague-matchtable-rowinfo">
    222. <td colspan="10">###MATCH_DATE### (###MATCH_COMPETITION_NAME###)</td>
    223. </tr>
    224. <tr class="cfcleague-matchtable-row###MATCH_ROLL### cfcleague-matchtable-rowmatch">
    225. <td>###MATCH_ROUND_NAME###</td>
    226. <td>###MATCH_HOME_SHOWTEAMLINK######MATCH_HOME_NAME######MATCH_HOME_SHOWTEAMLINK###</td>
    227. <td>-</td>
    228. <td>###MATCH_GUEST_SHOWTEAMLINK######MATCH_GUEST_NAME######MATCH_GUEST_SHOWTEAMLINK### </td>
    229. <td class="cfcleague-matchtable-result">
    230.  
    231. <!-- ###RESULT_STATUS_0### Ergebnis vor dem Spiel -->
    232. -&nbsp;:&nbsp;-
    233. <!-- ###RESULT_STATUS_0### Ergebnis vor dem Spiel -->
    234.  
    235. <!-- ###RESULT_STATUS_-10### Ergebnis bei Spielverlegung -->
    236. verlegt
    237. <!-- ###RESULT_STATUS_-10### Ergebnis bei Spielverlegung -->
    238.  
    239. <!-- ###RESULT_STATUS_1### Ergebnis während des Spiels -->
    240. ###MATCH_GOALS_HOME###&nbsp;:&nbsp;###MATCH_GOALS_GUEST###
    241. <!-- ###RESULT_STATUS_1### Ergebnis während des Spiels -->
    242.  
    243. <!-- ###RESULT_STATUS_2### Ergebnis nach Spielende -->
    244. ###MATCH_REPORTLINK######MATCH_GOALS_HOME###&nbsp;:&nbsp;###MATCH_GOALS_GUEST######MATCH_REPORTLINK###
    245. <!-- ###RESULT_STATUS_2### Ergebnis nach Spielende -->
    246. <br />###MATCH_ADDINFO###
    247. </td>
    248. </tr>
    249. ###MATCH###
    250. </table>
    251. ###MATCHS###
    252.  
    253. ###HISTORIC_MATCHES###

    Template für Leaguetable:

    1. <html>
    2. <head>
    3. <title>Template für Ligatabelle</title>
    4. </head>
    5. <body>
    6.  
    7. <h1>Template für Ligatabelle</h1>
    8. <h2>Vorhandene Marker:</h2>
    9. <pre>
    10. ###CONTROLS### Subpart für das Steuerungspanel der Tabelle
    11. ###CONTROL_TABLETYPE### Subpart für Auswahl des Tabellentyps (Normal, Heim oder Auswärts)
    12. ###CONTROL_TABLESCOPE### Subpart für Auswahl Tabellenscope (Normal, Hin- oder Rückrunde)
    13. ###CONTROL_POINTSYSTEM### Subpart für Auswahl Punktsystem (2- oder 3-Punktesystem)
    14.  
    15. ###CONTROL_TABLETYPE_NORMAL_LINK### Subpart für Link auf Tabellentyp normal
    16. ###CONTROL_TABLETYPE_HOME_LINK### Subpart für Link auf Tabellentyp Heim
    17. ###CONTROL_TABLETYPE_AWAY_LINK### Subpart für Link auf Tabellentyp Auswärts
    18.  
    19. ###CONTROL_TABLESCOPE_NORMAL_LINK### Subpart für Link auf Tabellenscope normal
    20. ###CONTROL_TABLESCOPE_FIRST_LINK### Subpart für Link auf Tabellenscope Hinrunde
    21. ###CONTROL_TABLESCOPE_SECOND_LINK### Subpart für Link auf Tabellenscope Rückrunde
    22.  
    23. ###CONTROL_POINTSYSTEM_POINT3_LINK### Subpart für Link auf 3-Punkte-Tabelle
    24. ###CONTROL_POINTSYSTEM_POINT2_LINK### Subpart für Link auf 2-Punkte-Tabelle
    25.  
    26. Hinweis: Per TS können die Links und URLs zusätzlich gewrapped werden wobei aktive Links unterschieden werden!
    27.  
    28. ###ROW### Subpart für eine Zeile der Tabelle
    29. ###ROW_ROLL### Marker für den Typ einer Zeile. Dies ist eine laufende Nummer bei 0 beginnend und leaguetable.table.rowroll endend.
    30. ###ROW_MARKCLUB### Marker zur Markierung von ausgewählten Teams. Dies sollte eine CSS-Klasse sein
    31. ###ROW_MARK### Marker zur Markierung von bestimmten Tabellenpositionen. Der Inhalt wird aus dem Wettbewerbsdatensatz geholt.
    32. ###ROW_POSITION### Marker für Tabellenplatz
    33. ###ROW_POSITIONCHANGE### Marker für Tabellenplatzänderung
    34. ###ROW_OLDPOSITION### Marker für Tabellenplatz des vorherigen Spieltags
    35. ###ROW_...### Marker für Werte aus dem Teamdatensatz
    36. ###ROW_SHOWTEAMLINK### Subpart für Link auf die Teamdarstellung
    37. ###ROW_SHOWMATCHTABLELINK### Subpart für Link auf Teamspielplan
    38. ###ROW_MATCHCOUNT### Marker für Anzahl der Spiele
    39. </pre>
    40.  
    41. <!-- ###LEAGUE_TABLE### start -->
    42. <div id="liveTable">
    43. <!-- ###CONTROLS### start -->
    44. <div class="cfcleague-scopeselection">
    45. ###CONTROL_TABLETYPE###
    46. <p>
    47. ###CONTROL_TABLETYPE_NORMAL_LINK### ###CONTROL_TABLETYPE_NORMAL### ###CONTROL_TABLETYPE_NORMAL_LINK###
    48. ###CONTROL_TABLETYPE_HOME_LINK### ###CONTROL_TABLETYPE_HOME### ###CONTROL_TABLETYPE_HOME_LINK###
    49. ###CONTROL_TABLETYPE_AWAY_LINK### ###CONTROL_TABLETYPE_AWAY### ###CONTROL_TABLETYPE_AWAY_LINK###
    50. </p>
    51. ###CONTROL_TABLETYPE###
    52.  
    53. ###CONTROL_TABLESCOPE###
    54. <p>
    55. ###CONTROL_TABLESCOPE_NORMAL_LINK### ###CONTROL_TABLESCOPE_NORMAL### ###CONTROL_TABLESCOPE_NORMAL_LINK###
    56. ###CONTROL_TABLESCOPE_FIRST_LINK### ###CONTROL_TABLESCOPE_FIRST### ###CONTROL_TABLESCOPE_FIRST_LINK###
    57. ###CONTROL_TABLESCOPE_SECOND_LINK### ###CONTROL_TABLESCOPE_SECOND### ###CONTROL_TABLESCOPE_SECOND_LINK###
    58. </p>
    59. ###CONTROL_TABLESCOPE###
    60.  
    61. ###CONTROL_POINTSYSTEM###
    62. <p>
    63. ###CONTROL_POINTSYSTEM_POINT3_LINK### ###CONTROL_POINTSYSTEM_POINT3### ###CONTROL_POINTSYSTEM_POINT3_LINK###
    64. ###CONTROL_POINTSYSTEM_POINT2_LINK### ###CONTROL_POINTSYSTEM_POINT2### ###CONTROL_POINTSYSTEM_POINT2_LINK###
    65. </p>
    66. ###CONTROL_POINTSYSTEM###
    67. </div>
    68. <!-- ###CONTROLS### end -->
    69.  
    70. ###ROWS###
    71. <div class="cfcleague-leaguetable-teaser">
    72. <table cellspacing="0" cellpadding="0" class="cfcleague-leaguetable-teaser">
    73. <tr>
    74. <th class="cfcleague-leaguetable-teaser-heading cfcleague-leaguetable-teaser-position">Pl.</th>
    75. <th class="cfcleague-leaguetable-teaser-heading cfcleague-leaguetable-teaser-name">Verein</th>
    76. <th class="cfcleague-leaguetable-teaser-heading cfcleague-leaguetable-teaser-matchcount">Sp.</th>
    77. <th class="cfcleague-leaguetable-teaser-heading cfcleague-leaguetable-teaser-points">P.</th>
    78. </tr>
    79.  
    80. ###ROW###
    81. <tr class="cfcleague-leaguetable-row###ROW_ROLL### ###ROW_MARKCLUB### cfcleague-leaguetable-row_###ROW_MARK###">
    82. <td class="cfcleague-leaguetable-teaser-position">###ROW_POSITION###.</td>
    83. <td class="cfcleague-leaguetable-teaser-name">###ROW_SHOWTEAMLINK######ROW_SHORT_NAME######ROW_PENALTIES######ROW_SHOWTEAMLINK###</td>
    84. <td class="cfcleague-leaguetable-teaser-matchcount">###ROW_MATCHCOUNT### / </td>
    85. <td class="cfcleague-leaguetable-teaser-points">###ROW_POINTS######ROW_POINTS2###</td>
    86. </tr>
    87. ###ROW###
    88. </table>
    89. </div>
    90. ###ROWS###
    91.  
    92. <!-- ###PENALTIES### start -->
    93. <div class="cfcleague-leaguetable-comments">
    94. <h3>Hinweise</h3>
    95. <!-- ###PENALTY### start -->
    96. <p class="cfcleague-leaguetable-comment">* ###PENALTY_COMMENT###
    97. </p>
    98. <!-- ###PENALTY### end -->
    99. </div>
    100. <!-- ###PENALTIES### end -->
    101. </div>
    102. <!-- ###LEAGUE_TABLE### end -->
    103.  
    104. </body>
    105. </html>

    So, nun ist das Wichtigste schon mal gesagt.
    Welche Tabs es gibt, wie sie heißen und was darin angezeigt werden soll, wird in der Liveticker-Template-Datei festgelegt, und zwar im div "config" unter <script>.

    Bsp: var tabs = new Array(
    {title: 'Übersicht', body: new Array('ticker', 'info', 'setup')},
    {title: 'Tickermeldungen', body: new Array('ticker')}
    );

    Hier werden 2 Tabs erzeugt: "Übersicht" und "Tickermeldungen".
    "Übersicht" beinhaltet 3 Inhaltselemente, welche jeweils in den DIVs "ticker", "info" und "setup" stecken.
    Wie man am Beispiel sehen kann, wird das DIV "ticker" auch im 2. Tab angezeigt und kann hierfür eine andere Formatierung erhalten.
    Das erreicht man mit folgendem CSS:

    .tabBody_Übersicht_ticker {} // Style für "ticker" im Tab "Übersicht"
    .tabBody_Tickermeldungen_ticker {} // Style für "ticker" im Tab "Tickermeldungen"

    Wenn man also auf einen Tab klickt werden im DIV "tabBody" alle DIVs welche angezeigt werden sollen mit class=("tabBody_" + TabName + "_" + divName) versehen.
    Inaktive tabBody-DIVs erhalten class="disabled".
    Aktive tabHeader erhalten class="active" und inaktive class="inactive".

    Inhaltselemente welche nicht in Tabs sonders sonst wo in der Seite angezeigt werden sollen werden mittels

    var static = new Array(
    'roundCompetition', 'tickerHeader', 'content_137'
    );

    eingebunden. Diese brauchen einen festen (static) Platz. Diesen legt man fest, indem man z.B. <div id="static_tickerHeader"> im Template einbaut.

    Für weitere Infos bitte die Kommentare in den jeweiligen Dateien beachten.

    Falls noch Fragen offen sind, einfach posten!

  • 1