[TYPO3-seminars] RSS Feed of Seminars List

Tobias Schaefer tobias.schaefer at ptb.de
Mon Oct 28 16:46:06 CET 2013


Hello,

I found another solution for generating rss-feeds for seminars:
the extension in2rss (http://typo3.org/extensions/repository/view/in2rss).

I used this typoscript:
constants:
plugin.in2rss{
	absRefPrefix = http://intranet.ptb.de/
	settings {
		# uid of the seminars sysfolder
		pid = 1211
		cropDescription = 500
	}
}

setup:
# Since this TYPO3 is 4.5.30 the fluid viewhelper classes from TYPO3 4.7.15 
(typo3/sysext/fluid/Classes/ViewHelpers/Format)
# have to be included to be able to use f:format.htmlentitiesDecode in rss.html
includeLibs.AbstractEncodingViewHelper = fileadmin/phpscripts/AbstractEncodingViewHelper.php
includeLibs.HtmlentitiesDecodeViewHelper = fileadmin/phpscripts/HtmlentitiesDecodeViewHelper.php
lib.in2rssFeed {
	template = fileadmin/templates/extensions/in2rss/rss.html
	10 {
		settings {
			table = tx_seminars_seminars
			fieldTitle = title
			fieldBody = description
			fieldDescription = description
			fieldCrdate = begin_date
			fieldSorting = begin_date
			# uid of the seminars sysfolder
			pid = 1211
			pid_recursive = 0
			additionalWhereClause = AND (end_date > UNIX_TIMESTAMP(NOW()) OR begin_date 
= 0) AND deleted = 0 AND hidden = 0 AND object_type = 0
			limit = 1000
		}
		fields {		
			rssLink = COA
			rssLink {
				20 >
				20 = TEXT
				# uid of the seminars details page
				20.typolink.parameter = 1216
				20.typolink.returnLast = url
				20.typolink.additionalParams.cObject = TEXT
				20.typolink.additionalParams.cObject {
					wrap = &tx_seminars_pi1[showUid]=|
					field = uid
				}
			}			
		}
	}
}
in2rss {
	10 = USER
	10 {
		userFunc = user_in2rss_main->showRSS
		userFunc {
			config < lib.in2rssFeed
		}
	}
}

rss.html:
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" 
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" 
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" 
version="2.0">
	<channel>
		<title>Seminare</title>
		<link>http://intranet.ptb.de/index.php?id=seminare</link>
		<description>Allgemeine Seminare, die von der PTB angeboten werden</description>
		<language>de</language>
		<f:for each="{rssFeed}" as="rss">
			<f:if condition="{rss.rssTitle}">
				<item>
					<title>{rss.rssTitle}</title>
					<link>{rss.rssLink}</link>
					<pubDate>{rss.rssCrdate}</pubDate>
					<description>{f:format.htmlentitiesDecode(value: rss.rssDescription, 
keepQuotes: 1, encoding: 'UTF-8')}</description>
					<content:encoded>{rss.rssBody}</content:encoded>
				</item>
			</f:if>
		</f:for>
	</channel>
</rss>

Cheers, Tobias




More information about the TYPO3-project-seminars mailing list