sergmoro1/yii2-feed

XML订阅源渲染器。

安装次数: 47

依赖项: 1

建议者: 0

安全性: 0

星星: 0

关注者: 3

分支: 0

开放性问题: 0

类型:yii2-extension

v1.0.3 2019-10-28 10:47 UTC

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,
        ];
    }
}