Type: Module
This module allows ExpressionEngine users to add multiple feeds to an RSS aggregator, and output some or all of them in to an EE template.
Requirements
- Tested on Expression Engine 1.6.6 and greater (should work with lower versions...)
- Tested only on PHP 5.2.6 (should work with lower versions...)
Parameters
- limit - [int] - Limit the number of entries to fetch per RSS feed.
- orderby - [string] - The order of which to display the entries. Accepted values are: 'date' and 'id' (default).
- sortby - [string] - Which way the entries are sorted. Accepts 'asc' or 'desc' (default).
- content-limit - [int] - Number of characters with which to restrict an RSS feed items content. Default is 100
- skip-tags - [string] - HTML tags from the RSS feed which you don't want to strip out. Seperated by a pipe character '|'.
- feeds - [string] - The ID's of the RSS feeds which you'd like to include/exclude, default is all feeds. Accepts multiple ID's seperated with the pipe character '|', and can ignore ID's prefixed with 'not'.
- suffix - [string] - A string to place at the end of an RSS feed items content.
Installation
As with installing all modules, you would be wise to backup your database before installing.
To install TK RSS Aggregator, you must:
- First, copy the its files to your Expression Engine installation. The zip archive is organised so that you can copy the files directly to the root of a 'regular' EE installation.
- Login to your Expression Engine control panel and navigate to modules page. From here, click 'Install' next to the TK RSS Aggregator module.
- With that complete, you are now ready to roll.
Example
The following example should give you an idea of how to use the TK RSS Aggregator module.
{exp:tk_rss_aggregator limit="11" feeds="1|2" orderby="date" sortby="desc" content-limit="200" strip-tags="b|strong" suffix="..."}
{feed}
{entry-date format="Ymd H:i:s"}
{entry-link}
{entry-title}
{entry-content}
{/feed}
{if no_results}
No results!
{/if}
{/exp:tk_rss_aggregator}
Control Panel
Multiple RSS feeds can be saved in the CP:
Important notes
- This module uses Magpie RSS parser to fetch and cache entries. Clearing the RSS cache found in /system/cache/magpie_cache/ may help with some caching problems.
Credits
In addition to the Magpie RSS parser, the core module was written by the rather good Marek Lenik. Check out his site at www.criography.com.
If you'd like to send me beer money in exchange for updates and more modules, please do!
It'll be a Leffe or Hoegarrden by the way ;)
Version 1.0.1
26th April 2011
- Used the module for the first time in ages.
- Fixed the bug which was pointed out in the comments below (thanks Jeff).
- Sighed deeply about how long this took me to do.
Version 1.0.0
17th June 2009
- First public release
Comments
Hey there, pinged you on twitter yesterday. I’ve installed the module, looks like there’s a conflictd with LG Htaccess, as I get the following warnings when installing and accessing the module in the CP:
“Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mcp.tk_rss_aggregator.php:438) in /ext.lg_htaccess_generator_ext.php on line 672”
Don
just noticed that you didn’t throw the {entry-link} tag into your example, so wanted people to know it’s available. Thanks for a great plugin!
heaversm
This module needs serious work. Debug doesn’t work, template renders blank and no errors show up in PHP log so troubleshooting is a lost cause.
Pretty good idea though TK, good luck improving.
Pops Maloy
Finally got this working by removing magpie tags from the same template. Looks like it could be really useful but there are a few shortcomings. I’d like to be able to create different sets of feeds for different weblogs. I’d like to be able to have the feed title at the top and not repeat above every entry and the author name has no tag that I can see.
smartpill
This is an excellent plugin. Is there anychance of making it compatible with EE 2.0? I can’t stand the standard Magpie Parser.
Mike
No plans just yet Mike.
Glad you like it though!
It may be a while before I make the jump to EE 2.0 as 1.6.8 is somewhat stable (2.0 may take a bit longer yet to get the release bugs fully sorted).
First on my list would be TK Page Title but this one would be a good follow up project.
Tom Kiss
Thanks Tom, guess I shouldn’t have been so eager to upgrade!
Mike
Hi Tom,
Thanks for this module! It’s working wonderfully with the exceptionof one thing: the “asc”/“desc” sort. No matter if I’m ordering by date or id, changing the asc/desc value does nothing. Any fixes? All my oldest posts show up at the top!
Thank you!
Brittany
Thanks Tom - this module has saved me a massive amount of work. thank you.
for those wanting a quick and dirty way to get the sorting working you can try two things:
the parameter is sortby=“desc” and not sort=“desc”
and you need to make an edit to
mod.tk_rss_aggregator.php
and change
if($sort==“asc”)
{
array_multisort($sDate, SORT_NUMERIC, SORT_ASC, $blobSorter);
}
else
{
array_multisort($sDate, SORT_NUMERIC, SORT_DESC, $blobSorter);
}
to
if($sort==“asc”)
{
array_multisort($sDate, SORT_STRING, SORT_ASC, $blobSorter);
}
else
{
array_multisort($sDate, SORT_STRING, SORT_DESC, $blobSorter);
}
hope that helps
Jeff Pullinger