[Frage] Neuer News Typ kann im Backend ausgewählt werden, wird aber im Frontend nicht angezeigt TYPO3-Version: 6.1.7

  • howlin.wulf howlin.wu...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    30. 07. 2014, 11:40

    Um verschiedene News mit unterschiedlichen Feldern anlegen zu können habe ich zwei neue News-Types hinzugefügt:

    1. TCEFORM.tx_news_domain_model_news.type {
    2. addItems.4 = Wohnungsangebot
    3. addItems.5 = Veranstaltung
    4. }

    Die lassen sich auch auswählen und in den neuen Reitern werden die neuen Felder, mit denen ich tx_news erweitert habe angezeigt.

    Im Frontend werden die News mit den neuen Typen nicht angezeigt. Außerdem tauchen sie im Backend nur in der 'Listen' und 'Seiten'-Ansicht auf, aber nicht in der 'News'-Ansicht.

    Weiß jemand womit ich das beheben könnte?


  • 1
  • Itsab Itsab
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    05. 08. 2014, 11:40

    Hiho,

    ich bin mir zwar nicht sicher, ob ich dich 100%-ig verstehe. Aber wenn es darum geht, verschiedene Layouts ausgeben zu lassen, würde ich einen anderen Weg vorschlagen. Ein Blick in die Doku von tx_news ist da nicht verkehrt. Vor allem dieser Bereich: [url]http://docs.typo3.org/typo3cms/extensions/news/Main/Templating/Additional/Index.html[/url]

    Im Grunde geht es so: Du definierst erstmal ein paar Templates im Seiten-TSconfig. Im Plugin kannst du die Template-Vorlage auswählen. Dann gehst du in die Template-Dateien des News-Extension (unbedingt in fileadmin kopieren und dort bearbeiten!) und sagst mit if-Bedingungen, was ausgegeben werden soll.

    1. <f:if condition="{settings.templateLayout} == 10">
    2. <f:then>
    3. … gib Template mit Index 10 aus
    4. </f:then>
    5. <f:else>
    6. … gib Template mit Index 20 aus
    7. </f:else>
    8. </f:if>

    "<f:else>" ist keine Pflicht. Es ginge auch so:
    1. <f:if condition="{settings.templateLayout} == 10">
    2. <f:then>
    3. … gib Template mit Index 10 aus
    4. </f:then>
    5. </f:if>
    6. <f:if condition="{settings.templateLayout} == 20">
    7. <f:then>
    8. … gib Template mit Index 20 aus
    9. </f:then>
    10. </f:if>

    Hoffe, das hilft dir weiter.

    Viele Grüße
    Istab

  • smeier smeier
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    27. 08. 2015, 10:00

    Hallo, der Eintrag ist zwar schon ein bisschen älter, aber vielleicht hilft ja irgendjemandem die Lösung die ich dazu gefunden habe.
    Das Problem hatte ich gerade unter TYPO3 6.2.14. Die Lösung war bei mir ein fehlendes Mapping für extbase.

    1. config.tx_extbase.persistence.classes {
    2. GeorgRinger\News\Domain\Model\News {
    3. subclasses {
    4. 3 = VendorName\Project\Domain\Model\NewsModel
    5.  
    6. }
    7. }
    8. VendorName\Project\Domain\Model\NewsModel {
    9. mapping {
    10. recordType = 3
    11. tableName = tx_news_domain_model_news
    12. }
    13. }
    14. }

    Danach wurden die neuen News Types auch im Frontend angezeigt.

    Viele Grüße
    Stephan

  • 1