Wraps entfernen wegen RSS-Ausgabe [Gelöst]

  • pow pow
    Jedi-Ratsmitglied
    0 x
    719 Beiträge
    0 Hilfreiche Beiträge
    05. 08. 2010, 11:20

    Hallo,

    ich steh momentan auf dem Schlauch. Ich verwende für dieses Projekt Templavoila, wobei ich denke das es damit nichts mehr zu tun hat.
    Vielleicht liegts auch am neuen TYPO 4.4.

    Ich möchte via Plugin einen RSS-Feed erzeugen. Funktioniert, bis auf das der Inhalt noch mit DIVs umzogen ist:

    1. <div id="c449" class="csc-default" ><h1>Aktuelles RSS</h1>
    2.  
    3. <?xml version="1.0" encoding="utf-8"?>
    4. <rss version="2.0">
    5. <channel>
    6. ...

    Mein TYPOSCRIPT:

    1. RSSpage = PAGE
    2. RSSpage {
    3. typeNum = 888
    4. config {
    5. disableAllHeaderCode = 1
    6. additionalHeaders = Content-type:text/xml
    7. no_cache = 1
    8. xhtml_cleaning = 0
    9. disablePrefixComment = 1
    10. language = de
    11. locale_all = de_DE
    12. linkVars = L
    13. sys_language_uid = 0
    14. sys_language_mode = strict
    15. sys_language_overlay = hideNonTranslated
    16. }
    17. 30 = COA
    18. 30 {
    19. 10 = CONTENT
    20. 10.table = tt_content
    21. 10.select {
    22. where = uid = 449
    23. pidInList = 46
    24. }
    25. }
    26. }


  • 1
  • Shark1982 Shark1982
    Padawan
    0 x
    49 Beiträge
    0 Hilfreiche Beiträge
    09. 08. 2010, 13:56

    Denke auch das TV hiermit nicht zu tun hat

    Für dein Problem gibt es mehrere Alternativen

    Du kannst mittels stdWrap.stripHtml = 1 auf das CONTENT Objekt auch komplett die Inhalte von HTML befreien

    Eine andere Alterantive ist mit CDATA Blöcken zu arbeiten tust innerhalb der Wraps.

    Ich hab unten mal ein Beispiel von einer meiner Projekte dran gehängt wo es drum ging eine RSS Feed Ansicht einer Extension zu generiern.
    Damit wird es denk ich transparenter

    1. xml = PAGE
    2. xml.typeNum = 0
    3. xml {
    4. config {
    5. disableCharsetHeader = 1
    6. disableAllHeaderCode = 1
    7. admPanel = 0
    8. additionalHeaders = Content-Type: application/xml; charset=UTF-8
    9. doctype = none
    10. }
    11. <?xml version="1.0" encoding="UTF-8"?>|
    12. )
    13. <rss version="2.0">
    14. <channel>
    15. |
    16. </channel>
    17. </rss>
    18.  
    19.  
    20.  
    21. )
    22.  
    23. 10 = CONTENT
    24. 10.table = tx_julleevents_events
    25. 10.select {
    26. pidInList = {$plugin.tx_julleevents_pi1.dataStorage}
    27. where = uid > 0
    28. orderBy = date ASC
    29. andWhere {
    30. data = date:U
    31. wrap = tx_julleevents_events.date > |
    32. }
    33.  
    34. }
    35.  
    36. 10 = TEXT
    37. 10.value (
    38.  
    39. <title>{$plugin.tx_julleevents_pi1.rssTitle}</title>
    40.  
    41. <link>{$plugin.tx_julleevents_pi1.rssSiteLink}</link>
    42. <description>Wir bieten ihnen exklusiv auch unser Veranstaltungsprogramm als RSS Feed an</description>
    43. <language>de</language>
    44.  
    45.  
    46. )
    47. 10.postCObject.data = date: d. m. Y
    48. <pubDate>|</pubDate>
    49. )
    50. 10.insertData = 1
    51. }
    52.  
    53. 10.renderObj = COA
    54. 10.renderObj {
    55. 5 {
    56. desc.cObject = TEXT
    57. desc.cObject.field = teaser
    58. keepNonMatchedTags = 1
    59. allowTags = *
    60. removeTags = font, br
    61. tags {
    62. h2.remap = h3
    63.  
    64. }
    65.  
    66.  
    67. }
    68. desc.cObject.wrap = <![CDATA[<blockquote>|</blockquote><hr>]]>
    69.  
    70. datum.cObject = TEXT
    71. datum.cObject.field = date
    72. datum.cObject.date = d. m. Y
    73.  
    74. title.cObject = TEXT
    75. title.cObject.field = title
    76. }
    77.  
    78. 10 = TEXT
    79. 10.dataWrap (
    80.  
    81.  
    82. <item>
    83. <title>
    84. {register:datum} : {register:title}
    85. </title>
    86. <description>
    87.  
    88. {register:desc}
    89.  
    90. </description>
    91. </item>
    92. )
    93. }
    94.  
    95.  
    96. }

  • pow pow
    Jedi-Ratsmitglied
    0 x
    719 Beiträge
    0 Hilfreiche Beiträge
    09. 08. 2010, 16:16

    Puhh...nicht das ich deine Antwort nicht zu schätz weis, aber das ist schon ziemlich komplex wenn man es selbst nicht gebaut hat ;) das auf meine Extension umzumodeln.
    Wenn ich dem Ziel nicht schon so nahe wäre, würde ich das probieren.

    Es geht lediglich um 2 Divs ;-)

    Ging das nicht einfach mit "styles.content >" oder so ähnlich?

    Grüße & Danke

  • Shark1982 Shark1982
    Padawan
    0 x
    49 Beiträge
    0 Hilfreiche Beiträge
    09. 08. 2010, 19:33

    Wenns dir nur um das geht
    <div id="c449" class="csc-default" ><h1>Aktuelles RSS</h1>

    tt_content.header > und so das solltest du dann in eine Condition alles einbauen.
    Mein Beispiel war garnicht so komplex find ich, natürlich sollte nab TS und seine Möglichkeiten schon verstehen

  • pow pow
    Jedi-Ratsmitglied
    0 x
    719 Beiträge
    0 Hilfreiche Beiträge
    11. 08. 2010, 13:24

    Hi,

    ich habs jetzt geschafft, jetzt ist nur noch der Anker drin, den bekomm ich nicht weg:

    1. RSSpage = PAGE
    2. RSSpage {
    3. typeNum = 888
    4. config {
    5. disableAllHeaderCode = 1
    6. additionalHeaders = Content-type:text/xml
    7. no_cache = 1
    8. xhtml_cleaning = 0
    9. disablePrefixComment = 1
    10. language = de
    11. locale_all = de_DE
    12. linkVars = L
    13. sys_language_uid = 0
    14. sys_language_mode = strict
    15. sys_language_overlay = hideNonTranslated
    16. }
    17. 30 = COA
    18. 30 {
    19. 10 = CONTENT
    20. 10.table = tt_content
    21. 10.select {
    22. where = uid = 449
    23. pidInList = 122
    24. }
    25. }
    26. }

    Ergibt:

    1. <a id="c449"></a>
    2.  
    3. <?xml version="1.0" encoding="utf-8"?>
    4. <rss version="2.0">
    5. <channel>
    6. <item>
    7.  
    8. <title>Testtest</title>
    9. ...
    10. </item>
    11. </channel>
    12. </rss>

    Und ich habe schon mit "tt_content.stdWrap.dataWrap = " gespielt, aber keine Chance.

    Ich kenn mich mit Typoscript schon aus, nur verwirrt mich das CONTENT Object, und ich weis nicht woher er das gewrape zugewiesen bekommt. Auch mit "css_styled_content >" funktioniert es nicht alles abzuschalten.

    Grüße!

  • Shark1982 Shark1982
    Padawan
    0 x
    49 Beiträge
    0 Hilfreiche Beiträge
    11. 08. 2010, 14:28

    Für Sowas gibts den Template Analyzer ja auch.

    Probier doch mal so steht das zumindest in ner 4.2 bei mir . Kann sein das noch stdWrap davor muss ist aber nen TEXT Objekt da ist das nicht nötig

    1. tt_content.prepend = TEXT
    2. tt_content.prepend.dataWrap = <a id="c{field:_LOCALIZED_UID}"></a>
    3. tt_content.prepend.if.isTrue.field = _LOCALIZED_UID

  • pow pow
    Jedi-Ratsmitglied
    0 x
    719 Beiträge
    0 Hilfreiche Beiträge
    11. 08. 2010, 16:42

    So gehts aber auch nicht

    1. RSSpage = PAGE
    2. RSSpage {
    3. tt_content.prepend.dataWrap >
    4. typeNum = 888
    5. config {
    6. disableAllHeaderCode = 1
    7. additionalHeaders = Content-type:text/xml
    8. no_cache = 1
    9. xhtml_cleaning = 0
    10. disablePrefixComment = 1
    11. language = de
    12. locale_all = de_DE
    13. linkVars = L
    14. sys_language_uid = 0
    15. sys_language_mode = strict
    16. sys_language_overlay = hideNonTranslated
    17. }
    18. 30 = COA
    19. 30 {
    20. 10 = CONTENT
    21. 10.table = tt_content
    22. 10.select {
    23. where = uid = 449
    24. pidInList = 122
    25. }
    26. 10.tt_content.prepend.dataWrap >
    27. }
    28. }

  • pow pow
    Jedi-Ratsmitglied
    0 x
    719 Beiträge
    0 Hilfreiche Beiträge
    16. 08. 2010, 09:58

    Ok, ich probier es nun ganz anderst, ich lese es direkt aus der DB.
    Jetzt hakt es nur noch an den fehlenden Umbrücken.

    1. CRSS= PAGE
    2. CRSS{
    3. typeNum = 888
    4. config {
    5. disableAllHeaderCode = 1
    6. additionalHeaders = Content-type:text/xml
    7. no_cache = 1
    8. xhtml_cleaning = 0
    9. disablePrefixComment = 1
    10. language = de
    11. locale_all = de_DE
    12. linkVars = L
    13. sys_language_uid = 0
    14. sys_language_mode = strict
    15. sys_language_overlay = hideNonTranslated
    16. }
    17. 30 = COA
    18. 30 {
    19. 5 = TEXT
    20. 5.value (
    21. <?xml version="1.0" encoding="utf-8"?>
    22. <rss version="2.0">
    23. <channel>
    24.  
    25. )
    26.  
    27. 10 = CONTENT
    28. 10.table = tx_custref_reference
    29. 10.select.pidInList = 45
    30. 10.select.orderBy = uid
    31.  
    32. 10.renderObj = TEXT
    33. 10.renderObj.dataWrap (
    34. <title><![CDATA[{field:title}]]></title>
    35. <link>http://www.demo.de/index.php?id?={field:uid}</link>
    36. <pubDate><![CDATA[{field:tstamp}]]></pubDate>
    37. )
    38.  
    39. 100 = TEXT
    40. 100.value (
    41. </channel>
    42. </rss>
    43. )
    44. }
    45.  
    46. }

    Ergibt:

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <rss version="2.0">
    3. <channel>
    4. <title><![CDATA[Überschrift]]></title>
    5. <link>http://www.demo.de/index.php?id?=10</link>
    6. <pubDate><![CDATA[1277205941]]></pubDate><title><![CDATA[Überschrift]]></title>
    7. <link>http://www.demo.de/index.php?id?=11</link>
    8. <pubDate><![CDATA[1260454993]]></pubDate><title><![CDATA[Überschrift]]></title>
    9. <link>http://www.demo.de/index.php?id?=12</link>
    10. <pubDate><![CDATA[1260547765]]></pubDate><title><![CDATA[Überschrift]]></title>
    11. <link>http://www.demo.de/index.php?id?=13</link>
    12. <pubDate><![CDATA[1260545164]]></pubDate>
    13. </channel>
    14. </rss>

    Wie schaffe ich es das er nach dem pubDate immer einen Absatz einfügt?

    Grüße

  • pow pow
    Jedi-Ratsmitglied
    0 x
    719 Beiträge
    0 Hilfreiche Beiträge
    16. 08. 2010, 12:12

    Hat sich erledigt! ich hatte einen Rechtschreibfehler im <item></iitem>

    jetzt funktionierts!

    Danke für die Geduld!

  • 1