sergmoro1 / yii2-feed
XML订阅源渲染器。
v1.0.3
2019-10-28 10:47 UTC
Requires
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-08-28 22:03:57 UTC
README
RSS或其他订阅源,如Yandex Turbo Pages。
安装
安装此扩展的首选方式是通过Composer。
你可以运行
php composer.phar require --prefer-dist sergmoro1/yii2-feed
或者将以下内容添加到你的composer.json
文件的require部分:
"sergmoro1/yii2-feed": "~1.0"
安装
使用
需要继承RssController。应该定义providers()
和channel()
。有现成的视图可供使用,但你应该制作自己的。将视图复制到默认位置并做出更改。
例如,对于RSS。
namespace frontend\controllers; use Yii; use yii\helpers\Url; use yii\data\ActiveDataProvider; use common\models\Post; class RssController extends \sergmoro1\feed\controllers\RssController { public function providers() { $providers = []; $providers['_view'] = new ActiveDataProvider([ 'query' => Post::find()->where([ 'status' => Post::STATUS_PUBLISHED ]), 'sort' => [ 'defaultOrder' => [ 'created_at' => SORT_DESC, ], ], ]); return $providers; } public function channel() { return [ 'title' => Yii::$app->name, 'description' => 'Programmer\'s notes, code examples. WordPress, Yii.', 'description' => 'Notes, code examples. Yii, WordPress.', 'link' => Url::toRoute('/', true), 'language' => Yii::$app->language, 'image' => [ 'url' => Url::to('@web/logo/logo.png', true), 'title' => Yii::$app->name, 'link' => Url::to('@web/logo/logo.png', true), ], 'ttl' => 60, ]; } }