Wraps entfernen wegen RSS-Ausgabe
| Autor | Nachricht |
|---|---|
|
Verfasst am: 05. 08. 2010 [11:20]
|
|
|
pow
Themenersteller
Dabei seit: 30.10.2008
Beiträge: 717
|
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: HTML <div id="c449" class="csc-default" ><h1>Aktuelles RSS</h1> <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> ... Mein TYPOSCRIPT: TYPOSCRIPT RSSpage = PAGE RSSpage { typeNum = 888 config { disableAllHeaderCode = 1 additionalHeaders = Content-type:text/xml no_cache = 1 xhtml_cleaning = 0 disablePrefixComment = 1 language = de locale_all = de_DE linkVars = L sys_language_uid = 0 sys_language_mode = strict sys_language_overlay = hideNonTranslated } 30 = COA 30 { 10 = CONTENT 10.table = tt_content 10.select { where = uid = 449 pidInList = 46 } } } |
|
Verfasst am: 09. 08. 2010 [13:56]
|
|
|
Shark1982
Dabei seit: 29.06.2006
Beiträge: 43
|
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 TYPOSCRIPT xml = PAGE xml.typeNum = 0 xml { config { disableCharsetHeader = 1 disableAllHeaderCode = 1 admPanel = 0 additionalHeaders = Content-Type: application/xml; charset=UTF-8 doctype = none } stdWrap.wrap3 ( <?xml version="1.0" encoding="UTF-8"?>| ) stdWrap.wrap2 ( <rss version="2.0"> <channel> | </channel> </rss> ) 10 = CONTENT 10.table = tx_julleevents_events 10.select { pidInList = {$plugin.tx_julleevents_pi1.dataStorage} where = uid > 0 orderBy = date ASC andWhere { data = date:U wrap = tx_julleevents_events.date > | } } 10.stdWrap.prepend = COA 10.stdWrap.prepend { 10 = TEXT 10.value ( <title>{$plugin.tx_julleevents_pi1.rssTitle}</title> <link>{$plugin.tx_julleevents_pi1.rssSiteLink}</link> <description>Wir bieten ihnen exklusiv auch unser Veranstaltungsprogramm als RSS Feed an</description> <language>de</language> ) 10.postCObject = TEXT 10.postCObject.data = date: d. m. Y 10.postCObject.wrap ( <pubDate>|</pubDate> ) 10.insertData = 1 } 10.renderObj = COA 10.renderObj { 5 = LOAD_REGISTER 5 { desc.cObject = TEXT desc.cObject.field = teaser desc.cObject.HTMLparser = 1 desc.cObject.HTMLparser { keepNonMatchedTags = 1 allowTags = * removeTags = font, br tags { h2.remap = h3 } } desc.cObject.wrap = <![CDATA[<blockquote>|</blockquote><hr>]]> datum.cObject = TEXT datum.cObject.field = date datum.cObject.date = d. m. Y title.cObject = TEXT title.cObject.field = title title.cObject.htmlSpecialChars = 1 } 10 = TEXT 10.dataWrap ( <item> <title> {register:datum} : {register:title} </title> <description> {register:desc} </description> </item> ) } } Mitglied in der www.mediengarage.de
|
|
Verfasst am: 09. 08. 2010 [16:16]
|
|
|
pow
Themenersteller
Dabei seit: 30.10.2008
Beiträge: 717
|
Puhh...nicht das ich deine Antwort nicht zu schätz weis, aber das ist schon ziemlich komplex wenn man es selbst nicht gebaut hat 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 |
|
Verfasst am: 09. 08. 2010 [19:33]
|
|
|
Shark1982
Dabei seit: 29.06.2006
Beiträge: 43
|
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 Mitglied in der www.mediengarage.de
|
|
Verfasst am: 11. 08. 2010 [13:24]
|
|
|
pow
Themenersteller
Dabei seit: 30.10.2008
Beiträge: 717
|
Hi, ich habs jetzt geschafft, jetzt ist nur noch der Anker drin, den bekomm ich nicht weg: TYPOSCRIPT RSSpage = PAGE RSSpage { typeNum = 888 config { disableAllHeaderCode = 1 additionalHeaders = Content-type:text/xml no_cache = 1 xhtml_cleaning = 0 disablePrefixComment = 1 language = de locale_all = de_DE linkVars = L sys_language_uid = 0 sys_language_mode = strict sys_language_overlay = hideNonTranslated } 30 = COA 30 { 10 = CONTENT 10.table = tt_content 10.select { where = uid = 449 pidInList = 122 } } } Ergibt: HTML <a id="c449"></a> <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <item> <title>Testtest</title> ... </item> </channel> </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! |
|
Verfasst am: 11. 08. 2010 [14:28]
|
|
|
Shark1982
Dabei seit: 29.06.2006
Beiträge: 43
|
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 TYPOSCRIPT tt_content.prepend = TEXT tt_content.prepend.dataWrap = <a id="c{field:_LOCALIZED_UID}"></a> tt_content.prepend.if.isTrue.field = _LOCALIZED_UID Mitglied in der www.mediengarage.de
|
|
Verfasst am: 11. 08. 2010 [16:42]
|
|
|
pow
Themenersteller
Dabei seit: 30.10.2008
Beiträge: 717
|
So gehts aber auch nicht TYPOSCRIPT RSSpage = PAGE RSSpage { tt_content.prepend.dataWrap > typeNum = 888 config { disableAllHeaderCode = 1 additionalHeaders = Content-type:text/xml no_cache = 1 xhtml_cleaning = 0 disablePrefixComment = 1 language = de locale_all = de_DE linkVars = L sys_language_uid = 0 sys_language_mode = strict sys_language_overlay = hideNonTranslated } 30 = COA 30 { 10 = CONTENT 10.table = tt_content 10.select { where = uid = 449 pidInList = 122 } 10.tt_content.prepend.dataWrap > 10.prepend.dataWrap > } } |
|
Verfasst am: 16. 08. 2010 [09:58]
|
|
|
pow
Themenersteller
Dabei seit: 30.10.2008
Beiträge: 717
|
Ok, ich probier es nun ganz anderst, ich lese es direkt aus der DB. Jetzt hakt es nur noch an den fehlenden Umbrücken. TYPOSCRIPT CRSS= PAGE CRSS{ typeNum = 888 config { disableAllHeaderCode = 1 additionalHeaders = Content-type:text/xml no_cache = 1 xhtml_cleaning = 0 disablePrefixComment = 1 language = de locale_all = de_DE linkVars = L sys_language_uid = 0 sys_language_mode = strict sys_language_overlay = hideNonTranslated } 30 = COA 30 { 5 = TEXT 5.value ( <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> ) 10 = CONTENT 10.table = tx_custref_reference 10.select.pidInList = 45 10.select.orderBy = uid 10.renderObj = TEXT 10.renderObj.dataWrap ( <title><![CDATA[{field:title}]]></title> <link>http://www.demo.de/index.php?id?={field:uid}</link> <pubDate><![CDATA[{field:tstamp}]]></pubDate> ) 100 = TEXT 100.value ( </channel> </rss> ) } } Ergibt: HTML <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title><![CDATA[Überschrift]]></title> <link>http://www.demo.de/index.php?id?=10</link> <pubDate><![CDATA[1277205941]]></pubDate><title><![CDATA[Überschrift]]></title> <link>http://www.demo.de/index.php?id?=11</link> <pubDate><![CDATA[1260454993]]></pubDate><title><![CDATA[Überschrift]]></title> <link>http://www.demo.de/index.php?id?=12</link> <pubDate><![CDATA[1260547765]]></pubDate><title><![CDATA[Überschrift]]></title> <link>http://www.demo.de/index.php?id?=13</link> <pubDate><![CDATA[1260545164]]></pubDate> </channel> </rss> Wie schaffe ich es das er nach dem pubDate immer einen Absatz einfügt? Grüße |
|
Verfasst am: 16. 08. 2010 [12:12]
|
|
|
pow
Themenersteller
Dabei seit: 30.10.2008
Beiträge: 717
|
Hat sich erledigt! ich hatte einen Rechtschreibfehler im <item></iitem> jetzt funktionierts! Danke für die Geduld! |



