tx_news per Typoscript im Fluid Template ausgeben [Gelöst]

  • Cookie4ddict Cookie4dd...
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    06. 06. 2013, 13:34

    Hallo alle zusammen!

    Ich habe da ein Problem das mich doch etwas beschäftigt. Mein Typo3 verwendet die tx_news Extension und ich möchte auf einem Template ohne Benutzerinteraktion IMMER die letzten beiden News als Liste anzeigen lassen (sprich: Überschrift, Teaser, Mehr-Link).
    Über Typoscript mit Abholung vom Template per "<f:cObject typoscriptObjectPath="lib.news" funktioniert das auch wunderbar.
    Nur sieht das dann absolut nicht so aus wie ich das möchte.

    Aus diesem Grund kam die Idee auf, ich übergebe den Inhalt meines Typoscripts per Variable an das Template und lasse dann mit <f:for> eine Schleife drüber laufen um alles nach meinen Wünschen auszugeben. Sprich:

    1. <f:for each="{newsItem}" as "news">
    2. {news.title}
    3. </f:for>

    Nun ist es aber so, dass ich schon das newsItem anscheinend nicht durchkriege. Das newsItem ist ein Partial das ich im eigentlich Template per "<f:render partial="news" />" einbinde. Ich habe sogar schon versucht, ob "<f:render partial="news" arguments="{newsItem: newsItem}" />" etwas bringt da ich zuerst dachte, ich muss die Variable vielleicht noch an das Partial mit übergeben.

    Das Typoscript zum erzeugen meiner NewsListe sieht wie folgt aus:

    1. lib.news = USER
    2. lib.news {
    3. userFunc = tx_extbase_core_bootstrap->run
    4. extensionName = News
    5. pluginName = Pi1
    6.  
    7. switchableControllerActions {
    8. News {
    9. 1 = list
    10. }
    11. }
    12.  
    13. settings < plugin.tx_news.settings
    14. settings {
    15. //categories = 49
    16. // einstellen der maximal anzuzeigenden Beiträge
    17. limit = 2
    18.  
    19. // ID der Newsdetailseite
    20. detailPid = 31
    21. overrideFlexformSettingsIfEmpty := addToList(detailPid)
    22.  
    23. // ID des Ordners mit den auszulesenden News
    24. startingpoint = 129
    25. }
    26. }

    Und hier das Typoscript meines FluidTemplates:

    1. // Definition des FluidTemplates
    2. FluidTemplate = FLUIDTEMPLATE
    3. FluidTemplate {
    4.  
    5. // definieren der jeweiligen TemplateDatei
    6.  
    7. // Template wechseln
    8. key.data = levelfield:-1, backend_layout_next_level, slide
    9. key.override.field = backend_layout
    10.  
    11. // Default Template Datei
    12. default = TEXT
    13. default.value = fileadmin/Template/Private/startsite.html
    14.  
    15. // Template Datei für Backendlayout mit ID 15 (mit GoogleMaps)
    16. 15 = TEXT
    17. 15.value = fileadmin/Template/Private/contentWithMap.html
    18.  
    19. // Template Datei für Backendlayout mit ID 15 (normale Unterseiten)
    20. 16 = TEXT
    21. 16.value = fileadmin/Template/Private/content.html
    22. }
    23.  
    24. // Definition der Ordner für Layout und Partials
    25. layoutRootPath = fileadmin/Template/Private/Layouts
    26. partialsRootPath = fileadmin/Template/Private/Partials
    27.  
    28. // Setzen der für die Ausgabe benötigten Variablen
    29. variables {
    30. content < styles.content.get
    31. content.select.where = colPos = 1
    32. newsItem < lib.news
    33. }
    34. }

    Korrigiert mich bitte, wenn ich hier was falsch verstanden habe oder sonstiges. Ich bin noch blutiger Typo3 Anfänger und erarbeite mir gerade mit Hilfe von Doku, Videos und Google alles mühsam. Bis zu den News klappte auch alles wunderbar #angry#

    Über einen Schubs in die richtige Richtung würde ich mich freuen!

    Danke schonmal :)

    Eure Steffi

    Edit:
    Hm, die TypoVersion würde euch sicher noch interessieren XD
    Entwickelt wird auf Typo3 6.1


  • 1
  • Cookie4ddict Cookie4dd...
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    06. 06. 2013, 14:11

    *Zonk Melodie bitte hier einfügen*

    Da hat eine gewisse Dame den Pferdepopo mit dem Kopf verwechselt. Und ja, ich weiß das ist ein Doppelpost, aber vielleicht hilft wem die Lösung die ich 5 Minuten nach diesem Post dann doch gefunden habe.

    tx_news hat vordefinierte FluidLayouts im entsprechenden Ordner der Extension (wer den Ordner sucht, in Typo3 6.1 ist das unter "typo3/typo3conf/ext/news/Resources/Private/Partials/" ). Und genau die werden wenn ich das ganze per TypoScript definiere und als cObjekt abhole ebenfalls verwendet.

    Die Lösung ist also entweder dort das Template anpassen (was bei Updates ganz doof ist) oder alles woanders hin kopieren, den Pfad per Typoscript überschreiben und entsprechende Templates am gewünschten Ort ablegen und anpassen.

    1. plugin.tx_news.view.layoutRootPath = {PFAD}
    2. plugin.tx_news.view.partialRootPath = {PFAD}
    3. plugin.tx_news.view.templateRootPath = {PFAD}

    Ich hab's einfach in mein sowieso schon vorhandenes Script rein:

    1. lib.news = USER
    2. lib.news {
    3. userFunc = tx_extbase_core_bootstrap->run
    4. extensionName = News
    5. pluginName = Pi1
    6.  
    7. switchableControllerActions {
    8. News {
    9. 1 = list
    10. }
    11. }
    12.  
    13. view < plugin.tx_news.view
    14. view {
    15. layoutRootPath = fileadmin/Template/Private/tx_news/Layouts/
    16. partialRootPath = fileadmin/Template/Private/tx_news/Partials/
    17. templateRootPath = fileadmin/Template/Private/tx_news/Templates
    18. }
    19.  
    20. settings < plugin.tx_news.settings
    21. settings {
    22. //categories = 49
    23. // einstellen der höchstens anzuzeigenden Beiträge
    24. limit = 2
    25.  
    26. // ID der Newsseite
    27. detailPid = 31
    28. overrideFlexformSettingsIfEmpty := addToList(detailPid)
    29.  
    30. // ID des Ordners mit den auszulesenden News
    31. startingpoint = 129
    32. }
    33. }

    Trotzdem danke für's lesen :)

    Liebe Grüße,
    Steffi

  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    07. 06. 2013, 16:45

    Sehr gut, dass Du es gelöst hast. Kleiner Nachtrag zum Verständnis für Leser. Die erste Variante kann (leider) nicht klappen weil das TypoScript dir niemals die Liste der News zurück gibt sondern immer das fertige HTML das vom Plugin erzeugt wurde.

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • nevsred nevsred
    R2-D2
    0 x
    113 Beiträge
    0 Hilfreiche Beiträge
    21. 01. 2014, 13:40

    ich füge tx_news auch mit cObject ein.

    ich verwende nun aber mittels TSConfig templateLayouts.

    tx_news.templateLayouts {
    1 = Liste
    2 = Latest
    }

    wie gebe ich dem TS für das cObject denn noch unter settings das templateLayout mit?!

  • 0 x
    26 Beiträge
    0 Hilfreiche Beiträge
    24. 06. 2015, 14:20

    Hatte gerade ein ähnliches Problem allerdings mit TYPO3 7.3.

    Ich musste die userFunc ändern in

    1. userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run

    Eventuell muss man auch vendorName angeben (siehe Link unten, dort die akzeptierte Antwort)

    Dieser Stackoverflow-Beitrag hat mir geholfen: [url]http://stackoverflow.com/a/14093526/2123108[/url]

  • 0 x
    26 Beiträge
    0 Hilfreiche Beiträge
    22. 09. 2015, 16:21

    Weiß jemand wie man eine Tag-Cloud mit tx_news basteln kann?

  • 1