tomkiss.net 2010 archive site. For the current website, please visit tomkiss.net.

 

TK RSS Aggregator

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:

  1. 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.
  2. Login to your Expression Engine control panel and navigate to modules page. From here, click 'Install' next to the TK RSS Aggregator module.
  3. 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:

TK RSS Aggregator TK RSS Aggregator

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 ;)



Releases

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.

Download

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.

 

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.

 

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!

 

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