himiklab/yii2-rss-writer-module

此包已被弃用,不再维护。未建议替代包。

自动生成 RSS 2.0 联想模块的 Yii2 模块

安装: 662

依赖者: 0

建议者: 0

安全: 0

星级: 9

关注者: 3

分支: 7

类型:yii2-extension

此包尚未发布版本,信息不多。


README

自动生成 RSS 2.0 联想模块的 Yii2 模块。

主要功能

  • 自动缓存 RSS 联想
  • 无限数量的 RSS 联想
  • 灵活的模块配置

安装

通过 composer 安装此扩展是首选方式。

  • 运行
php composer.phar require --prefer-dist "himiklab/yii2-rss-writer-module" "*"

或添加

"himiklab/yii2-rss-writer-module" : "*"

到您的应用 composer.json 文件的 require 部分。

  • migrations 文件夹中应用所有可用迁移
$ php yii migrate/up --migrationPath=@vendor/himiklab/yii2-rss-writer-module/migrations
  • 配置您的应用的配置文件中的 cache 组件,例如
'components' => [
    'cache' => [
        'class' => 'yii\caching\FileCache',
    ],
]
  • 在您的应用的配置文件中 modules 部分添加新的模块,例如
'modules' => [
    'rss' => [
        'class' => 'himiklab\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)]);
}