PHPackages                             brookinsconsulting/ezrssfeed - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. brookinsconsulting/ezrssfeed

ActiveEzpublish-legacy-extension[Parsing &amp; Serialization](/categories/parsing)

brookinsconsulting/ezrssfeed
============================

eZ Publish Legacy extension which provides a a configurable rssfeed toolbar for displaying rssfeeds on your site. It also contains a rssfeed template operator for fetching rssfeeds into a template with eZ Publish Legacy. Great for reports!

161PHP

Since Oct 2Pushed 8y ago1 watchersCompare

[ Source](https://github.com/brookinsconsulting/ezrssfeed)[ Packagist](https://packagist.org/packages/brookinsconsulting/ezrssfeed)[ RSS](/packages/brookinsconsulting-ezrssfeed/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

eZ RSS Feed
===========

[](#ez-rss-feed)

The eZRSSFeed extension contains a configurable rssfeed toolbar for displaying rssfeeds on your site. It also contains a rssfeed template operator for fetching rssfeeds into a template

Version
=======

[](#version)

- The current version of eZ RSS Feed is 0.1.2
- Last Major update: October 02, 2017

Copyright
=========

[](#copyright)

- eZ RSS Feed is copyright 1999 - 2017 Brookins Consulting
- See: [COPYRIGHT.md](COPYRIGHT.md) for more information on the terms of the copyright and license

License
=======

[](#license)

eZ RSS Feed is licensed under the GNU General Public License.

The complete license agreement is included in the [LICENSE](LICENSE.md) file.

eZ RSS Feed is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License or at your option a later version.

eZ RSS Feed is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

The GNU GPL gives you the right to use, modify and redistribute eZ RSS Feed under certain conditions. The GNU GPL license is distributed with the software, see the file [LICENSE](LICENSE.md).

It is also available at

You should have received a copy of the GNU General Public License along with eZ RSS Feed in in the [LICENSE](LICENSE.md) file.

If not, see .

Using eZ RSS Feed under the terms of the GNU GPL is free (as in freedom).

For more information or questions please contact:

Requirements
============

[](#requirements)

The following requirements exists for using eZ RSS Feed extension:

### eZ Publish version

[](#ez-publish-version)

- Make sure you use eZ Publish version 5.x (required) or higher.
- Designed and tested with eZ Publish Community Project 2017.1

### PHP version

[](#php-version)

- Make sure you have PHP 5.x or higher.

Features
========

[](#features)

### Toolbar

[](#toolbar)

As an example of usage there is a toolbar available

### Operator

[](#operator)

This solution provides the following eztpl operator:

- Operator: `ezrssfeed`

### Dependencies

[](#dependencies)

- This solution depends on eZ Publish Legacy

Use case
========

[](#use-case)

This solution was created to provide a simple way to fetch and display rss feed content within your own website templates.

Installation
============

[](#installation)

Extension Installation via Composer
-----------------------------------

[](#extension-installation-via-composer)

Run the following command from your project root to install the extension:

```
```bash
$ composer require brookinsconsulting/ezrssfeed dev-master;```

```

Extension Installation via Manual
---------------------------------

[](#extension-installation-via-manual)

Extract the ezrssfeed.tar.gz in your eZ Publish Legacy extension directory.

Activate the extension
----------------------

[](#activate-the-extension)

### Activate the extension (via Admin)

[](#activate-the-extension-via-admin)

Either in adminitration interface: Go to "Setup" Go to "Extensions" Check the checkbox beside "ezrssfeed" Click "Activate"

### Activate the extension (via ini-files):

[](#activate-the-extension-via-ini-files)

```
 Add the following to your settings/override/site.ini.append.php file:

```

```
     [ExtensionSettings]
     ActiveExtensions[]=ezrssfeed

```

Usage
=====

[](#usage)

The extension can be used in two ways. Either as a toolbar or as an template operator. It can also be used as an example of how to create a toolbar.

Toolbar
-------

[](#toolbar-1)

As an example of usage there is a toolbar available. Once the extension has been installed and activated there will be a "rssfeed" toolbar available in the administration interface.

The toolbar makes it easy to add rssfeeds to your page. The settings are self explaining.

Template operator
-----------------

[](#template-operator)

For more flexibility the operator can be used in your templates. The ezrss operator takes at a minimum one argument, the url of the RSS-feed.

The available parameters are:

- url: The url of the feed to download This parameter is required.
- items: The number of items to return (set to 0 for all items) Default value: 4
- channeldata: Return channel data? Default value: False
- imagedata: Return rssfeed image data? This might not be avaiable in all feeds. Default value: False

### Example Usage

[](#example-usage)

```
{let slashdot=ezrssfeed("http://slashdot.org/index.rss", 4, true(), false()}

```

This will load the feed from the given url, return the 4 first items, with channeldata, without imagedata, and store this in the variable slashdot.

Cache blocks
------------

[](#cache-blocks)

Making sure the ezrssfeed is inside a {cache-block} is a *very* good idea, this will increase the performance of the site, and you won't download the feed everytime someone loads you page.

Some sites may ban you for a period of time if you request the feeds to often.

A complete example using the operator:

```
{cache-block expiry=300}
  {let feed=ezrssfeed("http://slashdot.org/index.rss", 10, true(), true() )}

       {$feed.channel.title.content}

    {section var=theitem loop=$feed.items}
      {$theitem.title.content}
      {$theitem.description.content|shorten(80)}
    {/section}

  {/let}
{/cache-block}

```

The cacheblock has expiry of 300 seconds, which means the feed will be regenerated every 5 minutes.

If you want to see the data eZRSS returns put the following in a template:

```
{let freshmeat_data=ezrssfeed("http://download.freshmeat.net/backend/fm-releases-unix.xml", 0, true(), true() )}
     {$freshmeat_data|attribute(show)}
{/let}

```

Here we call ezrssfeed with a rssfeed url as a argument. The number of items is set to 0 which means every item in the feed.

And we download both the channeldata and it will then open the url, parse it and return the data. The `attribute(show)` displays all available data.

Testing
=======

[](#testing)

The solution is configured to work once properly installed and configured.

Troubleshooting
===============

[](#troubleshooting)

### Read the FAQ

[](#read-the-faq)

Some problems are more common than others. The most common ones are listed in the the [doc/FAQ.md](doc/FAQ.md)

### Support

[](#support)

If you have find any problems not handled by this document or the FAQ you can contact Brookins Consulting through the support system:

Changelog
=========

[](#changelog)

v1.2 (2017-10-02)

- Replaced eZXML library usage with DOMDocument for eZ Publish 5 Compatability. (5.x)

v1.1 ( 2006-08-21 )

- Added generation of timestamps for each item
- Fixed broken parsing of some timestamps from the rss
- Fixed some typos in the readme

v1.0 ( 2005-02-13 )

- Initial release (3.x)

Credits
=======

[](#credits)

- Updated By: Brookins Consulting
- Released By: Kristian Hole
- Originally written by: Ole Morten Halvorsen

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/fda10bb840bcf345ab87d5ec5bd7c79da0be8858fc1b754db272ca1fc45e49e2?d=identicon)[brookinsconsulting](/maintainers/brookinsconsulting)

---

Tags

extensionezpublishezpublishlegacyfeedphprssxml

### Embed Badge

![Health badge](/badges/brookinsconsulting-ezrssfeed/health.svg)

```
[![Health](https://phpackages.com/badges/brookinsconsulting-ezrssfeed/health.svg)](https://phpackages.com/packages/brookinsconsulting-ezrssfeed)
```

###  Alternatives

[mtdowling/jmespath.php

Declaratively specify how to extract elements from a JSON document

2.0k472.8M135](/packages/mtdowling-jmespathphp)[opis/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary data.

2.6k230.0M282](/packages/opis-closure)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M226](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M63](/packages/sabberworm-php-css-parser)[michelf/php-markdown

PHP Markdown

3.5k52.4M343](/packages/michelf-php-markdown)[jms/metadata

Class/method/property metadata management in PHP

1.8k152.8M88](/packages/jms-metadata)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
