lan143/yii2-rss
此扩展为您的项目添加了RSS支持
0.1.1
2018-01-15 21:02 UTC
Requires
- php: >=7.1
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-29 05:14:47 UTC
README
为自动生成RSS 2.0订阅源而设计的Yii2模块。
安装
安装此扩展的最佳方式是通过 composer。
- 运行以下命令之一
php composer.phar require "lan143/yii2_rss" "*"
或者将以下内容添加到您的应用 composer.json 文件的 require 部分,并运行 composer update:
{
"require": {
"lan143/yii2_rss": "*"
}
}
配置
- 在您的应用配置文件中配置
cache组件,例如
'components' => [ 'cache' => [ 'class' => \yii\caching\FileCache::class, ], ]
- 在您的应用配置文件的
modules部分添加新模块,例如
'modules' => [ 'rss' => [ 'class' => \lan143\yii2_rss\Rss::class, 'channels' => [ // one model per channel [ 'model' => \app\models\Records::class, ], // or configuration for creating a behavior [ 'title' => 'Liftoff News', // not required, default Application name 'link' => 'http://liftoff.msfc.nasa.gov/', // not required, default Url::home 'description' => 'Liftoff to Space Exploration.', // default empty 'language' => 'en-us', // not required, default Application language 'model' => [ 'class' => \app\models\Records::class, 'behaviors' => [ 'rss' => [ 'class' => \lan143\yii2_rss\RssBehavior::class, 'scope' => function (\yii\db\ActiveQuery $query) { $query->orderBy(['created_at' => SORT_DESC]); }, 'dataClosure' => function (\app\models\Records $model) { return [ 'title' => $model->title, 'link' => \yii\helpers\Url::to(['records/view', 'id' => $model->id], true), 'description' => $model->description, 'pubDate' => (new \DateTime($this->created_at))->format(\DateTime::RFC822), ]; } ], ], ], ], ], 'cacheExpire' => 1, // 1 second. Default is 15 minutes ], ],
- 在AR模型中添加行为,例如
use DateTime; use lan143\yii2_rss\RssBehavior; use yii\db\ActiveQuery; use yii\helpers\Url; public function behaviors(): array { return [ 'rss' => [ 'class' => RssBehavior::class, 'scope' => function (ActiveQuery $query) { $query->orderBy(['created_at' => SORT_DESC]); }, 'dataClosure' => function (self $model) { return [ 'title' => $model->title, 'link' => Url::to(['records/view', 'id' => $model->id], true), 'description' => $model->description, 'pubDate' => (new DateTime($this->created_at))->format(DateTime::RFC822), ]; } ], ]; }
- 在您的应用配置文件的
urlManager中添加新规则,例如
'urlManager' => [ 'rules' => [ ['pattern' => 'rss', 'route' => 'rss/rss/index', 'suffix' => '.xml'], ], ],