Seitentitel bei nicht vorhandenen News [Gelöst]

  • SirRuddy SirRuddy
    R2-D2
    0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    03. 06. 2012, 20:11

    Hi,

    ich gebe bei tt_news den Seitentitel wie folgt aus.

    1. # Nachrichtentitel rendern
    2. nachrichtentitel = RECORDS
    3. nachrichtentitel {
    4. source = {GPvar:tx_ttnews|tt_news}
    5. source.insertData = 1
    6. tables = tt_news
    7. conf.tt_news >
    8. conf.tt_news = TEXT
    9. conf.tt_news.field = title
    10. }
    11.  
    12. # Nachrichtentitel als title-Tag ausgeben
    13. page.headerData.10 >
    14. page.headerData.10 < nachrichtentitel
    15. page.headerData.10.wrap = <title>| - Name meiner Seite</title>

    Nun kommt es aber vor das News gelöscht werden. Den Link gibt es dann aber bei Google (oder sonstwo) noch. Klick ein User drauf, kommt das Typische: [i]Keine News ID übergeben[/i], von tt_news.

    Nun habe ich den folgenden Snippet gefunden:

    1. seite.meta {
    2. author.field = author
    3. author.ifEmpty.cObject {
    4. value = Autoren Name
    5. }
    6. }

    ...fand ich einleuchtend, und dachte mir das muss doch auch so gehen:

    1. nachrichtentitel.conf.tt_news.ifEmpty.cObject = TEXT
    2. nachrichtentitel.conf.tt_news.ifEmpty.cObject = TEXT.value = Mein Text

    ...geht aber nicht. Hat einer von Euch einen Tipp für mich, wie ich den Seitentitel auf: Error 404 bekommen kann? Ich habe ansonsten im Netzt dazu keine brauchbare Lösung gefunden.

    Gruß
    SirRuddy


  • warn warn
    T3PO
    0 x
    12 Beiträge
    1 Hilfreiche Beiträge
    15. 06. 2012, 11:40

    Hallo SirRuddy,

    müsste nicht statt "nachrichtentitel" dort die original fieldbenennung stehen?
    ...
    title.conf.tt_news.ifEmpty.cObject = TEXT
    title.conf.tt_news.ifEmpty.cObject = TEXT.value = Mein Text

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 11:55

    Es müsste eigentlich so heißen:

    1. nachrichtentitel.conf.tt_news.ifEmpty.cObject = TEXT
    2. nachrichtentitel.conf.tt_news.ifEmpty.cObject.value = Mein Text

    Aber es müsste eigentlich sogar noch einfacher, ohne den Umweg über cObject gehen.

    1. nachrichtentitel.conf.tt_news.ifEmpty = Mein Text

  • SirRuddy SirRuddy
    R2-D2
    0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 12:23

    Vielen Dank für Eure Tipps! Leider bringen beide nicht das gewünschte Ergebnis. Der Platzhalter im Titel bleibt leer.

    Gruß
    SirRuddy

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 14:11

    Komisch. Vielleicht hast Du das an der falschen Stelle eingefügt, z.B. nach dem Kopieren? Wie sieht denn jetzt Dein komplettes TypoScript aus?

  • SirRuddy SirRuddy
    R2-D2
    0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 15:05

    So wie oben beschrieben plus Deinem Code:

    1. # Nachrichtentitel rendern
    2. nachrichtentitel = RECORDS
    3. nachrichtentitel {
    4. source = {GPvar:tx_ttnews|tt_news}
    5. source.insertData = 1
    6. tables = tt_news
    7. conf.tt_news >
    8. conf.tt_news = TEXT
    9. conf.tt_news.field = title
    10. }
    11.  
    12. # Code von igorshmigor
    13. nachrichtentitel.conf.tt_news.ifEmpty.cObject = TEXT
    14. nachrichtentitel.conf.tt_news.ifEmpty.cObject.value = Mein Text
    15.  
    16. # Nachrichtentitel als title-Tag ausgeben
    17. page.headerData.10 >
    18. page.headerData.10 < nachrichtentitel
    19. page.headerData.10.wrap = <title>| - Name meiner Seite</title>

    Nicht richtig?

    Gruß
    SirRuddy

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 15:20

    [quote="SirRuddy"]
    Nicht richtig?
    [/quote]

    Doch, genau so hätte ich es auch gemacht. Ich kann keinen Fehler erkennen.

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 16:40

    Ja, doch, jetzt habe ich den Fehler. Da der Eintrag nicht existiert wird conf gar nicht erst ausgeführt. Was anderes wäre es, wenn zwar der Eintrag existieren würde, aber das Feld title leer ist. Dann würde ifEmpty greifen.
    Ein Workaround kann helfen:

    1. # Nachrichtentitel rendern
    2. nachrichtentitel = COA
    3. nachrichtentitel {
    4. 10.mynewstitle.cObject=RECORDS
    5. 10.mynewstitle.cObject{
    6. source = {GPvar:tx_ttnews|tt_news}
    7. source.insertData = 1
    8. tables = tt_news
    9. conf.tt_news >
    10. conf.tt_news = TEXT
    11. conf.tt_news.field = title
    12. }
    13. 20=TEXT
    14. 20.data=register:mynewstitle
    15. 20.ifEmpty=404 Error
    16. }
    17.  
    18. # Nachrichtentitel als title-Tag ausgeben
    19. page.headerData.10 >
    20. page.headerData.10 < nachrichtentitel
    21. page.headerData.10.wrap = <title>| - Name meiner Seite</title>

  • SirRuddy SirRuddy
    R2-D2
    0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    18. 06. 2012, 10:23

    SUPER!!! - Vielen Dank igorshmigor. Damit ist endlich ein Problem gelöst das ich schon seit langem vor mir her schiebe.

    Ich finde die "keine News id übergeben"-Problematik von tt_news wird aus SEO-Sicht etwas arg vernachlässigt. Damit ist das hier hoffentlich auch ein wertvoller Beitrag für alle anderen.

    Gruß
    SirRuddy

  • anderlk anderlk
    R2-D2
    0 x
    112 Beiträge
    1 Hilfreiche Beiträge
    27. 06. 2012, 01:46

    Warum verlinkst du nicht gleich auf 404, wenn keine News ID übergeben:

    1. [globalVar = GP:tx_ttnews|tt_news < 1]
    2. config.additionalHeaders = HTTP/1.0 301 Permanent Redirect | Location: {$baseurl}error404.html
    3. [global]

    Dann hat sich die Sache mit dem Titel auch erledigt und du bekommst nen ordentlichen 301 was SEO freundlich zugleich ist.

    Gruß Anderl