Zum Inhalt springen

RSS-Feed von Content erzeugen

Erstellt am 23. Mai 2006 · 3 Antworten · letzte Antwort am 24. Mai 2006

Tags: Frage

BrunoDesign ·

Hallo,

ich möchte von jeder Seite einen einzelnen RSS-Feed anbieten. Die Extensions bieten allesamt nur den Import von anderen Seiten an oder aber die Erstellung eines Feeds der gesamten Site. Es soll aber von jeder Seite ein einzelner RSS-Feed angeboten werden.

Ich habe die Static Template plugin.alt.xmlnewsfeed gefunden. Es gibt aber keine Beschreibung hierfür.

Kann jedmand helfen?

BrunoDesign ·

Ich habe jetzt folgende herangehensweise. Ich erstelle eine PAGE mit TypeNum 89 und will dort ein CONTENT reinpacken. Leider kann ich nicht nur den header und den bodytext aus der tt_content Tabelle auswählen. Dafür müsste ich tt_content ein field zuweisen. Das gilt dann aber für die ganze Seite. Hier mal mein TS.

rss = PAGE
tt_content = TEXT
tt_content.field = header
rss {
typeNum = 89
config.disableAllHeaderCode = 1
config.additionalHeaders = Content-type: text/xml
10 = COA
10 {
10 = TEXT
10.value = <?xml version="1.0" encoding="iso-8859-1"?>
20 = TEXT
20.value = <rss version="2.0"><channel>
25 = CONTENT
25.table = tt_content
25.stripHtml = 1
25.htmlSpecialChars = 1
30 = TEXT
30.value = </channel></rss>
}
}

Ziel ist immer noch die Erstellung eines RSS-Feeds für jede Seite.

BrunoDesign ·

Ich habe eine Lösung für mein Problem gefunden:

[globalVar = TSFE:type=89]
rss = PAGE
tt_content = COA
tt_content {
  10 = TEXT
  10.field = header
  10.wrap = <title>|</title>
  15 = TEXT
  15.dataWrap = <link />http://kahl.test/{page:tx_realurl_pathsegment}.html</link>
  20 = TEXT
  20.field = bodytext
  20.crop = 100|...|true
  20.stripHtml = 1
  20.htmlSpecialChars = 1
  20.wrap = <description>|</description>
  30 = TEXT
  30.field = tstamp
  30.date = d.m.Y.
  30.wrap = <pubdate>|</pubdate>
  }
rss {
  typeNum = 89
  config.disableAllHeaderCode = 1
  config.additionalHeaders = Content-type: text/xml
  10 = COA
  10 {
    10 = TEXT
    10.value = <?xml version="1.0" encoding="iso-8859-1"?>
    20 = TEXT
    20.value = <rss version="2.0"><channel>
    30 = TEXT
    30.dataWrap = <title>Schreibservice Kahl: {page:title}</title>
    40 = TEXT
    40.dataWrap = <link />http://kahl.test/{page:tx_realurl_pathsegment}.html</link>
    50 = TEXT
    50.dataWrap=<description>{page:description}</description>
    60 = CONTENT
    60.table = tt_content
    60.wrap = <item>|</item>
    60.stripHtml = 1
    60.htmlSpecialChars = 1
    70 = TEXT
    70.value = </channel></rss>
  }
}
[global]

Jetzt brauche ich nur noch die Anweisung per Typoscript, wie man css_styled_content deaktiviert. Css_styled_content erzeugt noch Code, den ich rauhaben will.
Weiß jemand Rat?

BrunoDesign ·

Den css_styled_content habe ich aus den Einstellungen des Templates bei "include static (from extenions)" entfernt und per condition im Typoscript für den Rest der Seite aktiviert

Das ins Setup eintragen:

page = PAGE
page.typeNum = 0

[globalVar = TSFE:type=0, TSFE:type=98]
<include_typoscript: source="FILE:EXT:css_styled_content/static/setup.txt">
<include_typoscript: source="FILE:EXT:css_styled_content/static/editorcfg.txt">
[global]

Und das in die constants:

[globalVar = TSFE:type=0, TSFE:type=98]
<include_typoscript: source="FILE:EXT:css_styled_content/static/constants.txt">
[global]

Auf diese Weise hat meine Seite schönen css_styled_content und mein RSS-Feed leidet nicht unter dem HTML-Output der Extension.

Wenn jemand noch eine schönere Variante kennt, bin ich ganz Ohr.