brainwasher / feed-bundle
symfony 的 Feed 管理器集成
2.0.0
2012-11-10 04:40 UTC
Requires
- php: >=5.3.2
This package is not auto-updated.
Last update: 2024-09-28 13:14:43 UTC
README
版本 2.0 更改
- 测试了 Symfony 2.1
- 添加了 composer 支持
- 命名空间已更改
- (版本变更)
版本 1.1 更改
- 在配置中,您需要定义一个 URL,而不是路由。 (可能是另一个网站?您可以输入任何您想要的)
- 在 ItemInterface 中,getFeedRoute 方法变为 getFeedRoutes (它是一个路由数组)。有关更多信息,请参阅 ItemInterface 或 wiki。
- 为命名您的 feed,您必须在文件名中添加 |format| (您想要的位置)
版本 1.0 警告:新版本(1.1)进行了重大更改,但不是在代码逻辑上。
功能
- 可以制作 atom 和 rss 2.0 feed
- 支持多个 feed
- 支持编辑 feed
- 可扩展
- 即时和保存时 feed 生成
有关配置和其他信息,请参阅 wiki
https://github.com/Nek-/FeedBundle/wiki
配置
app/config.yml
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'
可选(默认值)
nekland_feed: feeds: ... renderers: rss: id: nekland_feed.renderer.rss loaders: rss_file: id: nekland_feed.loader.rss_file
请注意,如果您想更改保存文件的路径,可以重新定义此选项
# Default path nekland_feed.feeds.base_path: %kernel.root_dir%/../web/feeds
模型
要使用 NeklandFeedBundle,您必须有一个实现 ItemInterface 的类。在大多数情况下,您可以使用您的实体/文档来完成此操作
class Post implements ItemInterface { //..... }
用法
检索您的 feed 实例
$container->get('nekland_feed.factory')->get('my_feed');
如果您的控制器扩展了基 Symfony 控制器,则可以使用
$this->get('nekland_feed.factory')->get('my_feed');
渲染 feed
$factory->render('my_feed', 'renderer');
添加条目
/** @var $post My\MyBundle\Entity\Post */ $factory->load('my_feed', 'loader'); $factory->get('my_feed')->add($post);
测试
NeklandFeedBundle 包含一些 behat 风格的测试。安装 BehatBundle 并使用以下命令运行它:
app/console -e=test behat @NeklandFeedBundle
待办事项
- 注解配置
作者
贡献者
- Yohan Giarelli yohan@giarelli.org