Version 2.0 Changes:
- Tested for Symfony 2.1
- Added composer support
- Namespace changed
- (versioning change)
Version 1.1 Changes:
- in the configuration you need to defined an url, not a route. (Maybe another website ? You can type what you want)
- the method getFeedRoute become getFeedRoutes in the ItemInterface (it's an array of routes). For more information, see the ItemInterface or the wiki.
- for naming your feeds you must add |format| (where you want in the filename)
Version 1.0 Warning: finally the new version (1.1) make substantial changes, but not in the code logic.
- can make atom and rss 2.0 feeds
- support multiple feeds
- support edit of feeds
- extensible
- On-the-fly and at-save feed generation
https://github.com/Nekland/FeedBundle/wiki
nekland_feed:
feeds:
my_feed:
class: My\MyBundle\Entity\Post
title: 'My fabulous posts'
description: 'Here is my very fabulous posts'
url: 'http://my-website.com'
language: 'fr'
my_feed2:
class: My\MyBundle\Entity\Comment
title: 'My fabulous comments'
description: 'Here is my very fabulous comments'
url: 'http://my-website.com'
language: 'fr'
Optional (default values):
nekland_feed:
feeds:
...
renderers:
rss:
id: nekland_feed.renderer.rss
loaders:
rss_file:
id: nekland_feed.loader.rss_file
Notice that if you want change the path where are saved files, you can redefined this option:
# Default path
nekland_feed.feeds.base_path: %kernel.root_dir%/../web/feeds
To use the NeklandFeedBundle, you must have class that implements the ItemInterface. In most of case, you can do it with your entities/documents
class Post implements ItemInterface
{
//.....
}
$container->get('nekland_feed.factory')->get('my_feed');
If your controller extends the base Symfony controller, you can use
$this->get('nekland_feed.factory')->get('my_feed');
$factory->render('my_feed', 'renderer');
/** @var $post My\MyBundle\Entity\Post */
$factory->load('my_feed', 'loader');
$factory->get('my_feed')->add($post);
NeklandFeedBundle is bundled with some behat flavoured tests. Install BehatBundle and launch it with
app/console -e=test behat @NeklandFeedBundle
- Annotation configuration
- Yohan Giarelli [email protected]