inspirecharles / rsswriter
用于自动生成RSS 2.0频道的Yii2模块
1.0.1
2018-02-08 09:40 UTC
This package is not auto-updated.
Last update: 2024-09-23 18:26:24 UTC
README
自动生成RSS 2.0频道的Yii2模块。
主要功能
- 自动缓存RSS频道
- 无限数量的RSS频道
- 灵活的模块配置
安装
安装此扩展的首选方式是通过composer。
- 运行以下命令之一
php composer.phar require --prefer-dist "inspirecharles/rsswriter" "*"
或者
"inspirecharles/rsswriter" : "*"
将以下内容添加到您的应用程序的composer.json文件中的require部分。
- 在
migrations文件夹中应用所有可用的迁移
$ php yii migrate/up --migrationPath=@vendor/inspirecharles/rsswriter/migrations
- 配置应用程序配置文件中的
cache组件,例如
'components' => [ 'cache' => [ 'class' => 'yii\caching\FileCache', ], ]
- 在应用程序配置文件的
modules部分添加新模块,例如
'modules' => [ 'rss' => [ 'class' => 'inspirecharles\rss\Rss', 'feeds' => [ 'rss' => [ 'title' => 'Feed title', 'description' => 'feed description', 'link' => 'http://your.site.com/', 'language' => 'en-US' ], ] ], ],
- 在应用程序配置文件的
urlManager部分添加新规则,例如
'urlManager' => [ 'rules' => [ ['pattern' => '<id:rss>', 'route' => 'rss/default/index', 'suffix' => '.xml'], ], ],
- 在
<head>标签中添加新的<link>标签,例如
<link rel="alternate" type="application/rss+xml" title="RSS feed" href="/rss.xml" />
用法
例如
... public function beforeSave($insert) { if (parent::beforeSave($insert)) { if ($insert) { $rss = Yii::$app->getModule('rss'); $rssItem = $rss->createNewItem(); $rssItem->title = $this->title; $rssItem->description = $this->description; $rssItem->link = Url::to($this->url, true); $rssItem->pubDate = time(); return $rss->addItemToFeed('rss', $rssItem); } return true; } return false; } public function afterDelete() { parent::afterDelete(); $rss = Yii::$app->getModule('rss'); $rss->deleteItems('rss', ['link' => Url::to($this->url, true)]); }