Webdesign-Forum

Normale Version: tt_news Latest-Ansicht in speziellem Format ausgeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich müsste die neuesten tt_news-Einträge in einem ganz speziellen Format ausgeben:

    HTML Programming
  1. <div class="container">
  2.  
  3. <ul class="tabs">
  4. <li><a href="#">Titel von News 3</a></li>
  5. <li><a href="#">Titel von News 2</a></li>
  6. <li><a href="#">Titel von News 1</a></li>
  7. </ul>
  8.  
  9. <ul class="contents">
  10. <li>Inhalt von News 3</li>
  11. <li>Inhalt von News 2</li>
  12. <li>Inhalt von News 1</li>
  13. </ul>
  14.  
  15. </div>



Ich möchte also die Titel und Inhalte der News jeweils als eigene Listenpunkte in 2 getrennten Listen ausgeben.
Hintergrund: das ganze wird dann per jQuery "geschönt".

Aber wie bekomme ich das hin? Im Template der tt_news direkt? Das wird wahrscheinlich nicht gehen, glaube ich.

Oder muss ich mir per Typoscript die tt_news-Tabelle auslesen und das ganze per TS zusammenbauen? Hier weiss ich aber nicht genau, wie ich z.B. jeweils den Titel, den Inhalt, und vielleicht noch das Erstellungsdatum auslesen und ausgeben kann.

Hat jemand einen Tipp?
Dank einem Tipp von Chris konnte ich inzwischen selber eine Lösung finden.

Als erstes habe ich ein extra Template für diese News-Ansicht angelegt und die LIST und die LATEST-Ansicht auf die Elemente reduziert, die ich benötige. Dabei wird die Ausgabe jeweils von einem <li>-Element umschlossen.

    HTML Programming
  1. <!-- ###TEMPLATE_LATEST### begin
  2. This is the template for the latest news, typically displayed on a frontpage
  3. -->
  4. <!-- ###CONTENT### begin
  5. This is the part of the template substituted with the list of news:
  6. -->
  7. <!-- ###NEWS### begin
  8. Template for a single item
  9. -->
  10. <li><a href="#">###NEWS_TITLE###</a></li>
  11. <!-- ###NEWS### end-->
  12. <!-- ###CONTENT### end -->
  13. <!-- ###TEMPLATE_LATEST### end -->
  14.  
  15. <!-- ###TEMPLATE_LIST### begin
  16. This is the template for the list of news in the archive or news page or search
  17. -->
  18.  
  19. <!-- ###CONTENT### begin
  20. This is the part of the template substituted with the list of news:
  21. -->
  22. <!-- ###NEWS### begin
  23. Template for a single item
  24. -->
  25. <li>
  26. <p>###NEWS_DATE###</p>
  27. <h4>###NEWS_TITLE###</h4>
  28. ###NEWS_IMAGE###
  29. ###NEWS_CONTENT###
  30. </li>
  31. <!-- ###NEWS### end-->
  32. <!-- ###CONTENT### end -->
  33. <!-- ###TEMPLATE_LIST### end -->



Dann habe ich ein TS-Objekt erzeugt, das mir zwei mal das tt_news-Plugin ausgibt, einmal in der LIST und in der LATEST-Ansicht.
Über templateFile wird das oben erzeugte Template verwendet.

    TYPOSCRIPT Programming
  1. lib.newstabs= COA
  2. lib.newstabs {
  3. wrap = <div class="verticalslider" id="newstabs">|</div>
  4.  
  5. 10 < plugin.tt_news
  6. 10.templateFile = fileadmin/templates/tt_news_test.html
  7. 10.code = LATEST
  8. 10.excludeAlreadyDisplayedNews =0
  9. 10.stdWrap.wrap = <ul class="verticalslider_tabs">|</ul>
  10.  
  11. 20 < plugin.tt_news
  12. 20.templateFile = fileadmin/templates/tt_news_test.html
  13. 20.code = LIST
  14. 20.excludeAlreadyDisplayedNews = 0
  15. 20.listOrderBy = crdate desc
  16. 20.displayList.content_stdWrap.stripHtml=0
  17. 20.displayList.content_stdWrap.parseFunc < lib.parseFunc_RTE
  18. 20.stdWrap.wrap = <ul class="verticalslider_contents">|</ul>
  19. }



Durch die folgenden Zeilen wird nur dafür gesorgt, dass auch in der Listenansicht die Inhalte durch den HTML-Parser geschickt werden. So werden Absätze und andere Formatierungen korrekt angezeigt.
    TYPOSCRIPT Programming
  1. 20.displayList.content_stdWrap.stripHtml=0
  2. 20.displayList.content_stdWrap.parseFunc < lib.parseFunc_RTE



Das ganze brauche ich übrigens, weil ich dieses jQuery-Plugin verwenden will: http://khwebdesign.net/blog/vertical-tab...ry-plugin/

Und ich brauche deshalb diese Lösung, weil ich das Plugin nicht nur für tt_news verwenden will, sonder auch für andere Inhalte. So habe ich immer die gleiche Optik und Funktionalität.