vdlp/oc-rssfetcher-plugin

从各种来源获取RSS标题以放置在您的网站上。

安装次数: 10 133

依赖项: 0

建议者: 0

安全: 0

星级: 6

关注者: 9

分支: 4

开放问题: 0

类型:october-plugin

3.3.0 2024-05-06 11:52 UTC

This package is auto-updated.

Last update: 2024-09-06 12:44:37 UTC


README

Vdlp.RssFetcher

抓取RSS/Atom源到您的网站。它可以自动使用cronjob或手动触发。

安装

composer require vdlp/oc-rssfetcher-plugin

RSS & Atom源

该插件使用laminas/laminas-feed包来解析RSS和/或Atom源。有关该包的更多信息,请访问https://docs.laminas.dev/laminas-feed/

组件

插件配置了4个示例源,并包含一些组件,可以帮助您在网站上显示项目和/或源。

项目

显示您提供的最大项目数限制的最新RSS项目列表。

在CMS页面中实现代码的示例

title = "A list of items"
url = "/items"
layout = "default"
is_hidden = 0

[rssItems]
maxItems = 10
==
{% component 'rssItems' %}

可分页的项目

显示带附加分页元素的最新RSS项目列表。

在CMS页面中实现代码的示例

title = "A list of items (paginatable)"
url = "/items"
layout = "default"
is_hidden = 0

[rssPaginatableItems]
itemsPerPage = 3
==
{% component 'rssPaginatableItems' %}

显示源列表。

在CMS页面中实现代码的示例

title = "A list of sources"
url = "/sources"
layout = "default"
is_hidden = 0

[rssSources]
==
{% component 'rssSources' %}

事件

要操作RSS项目,可以使用一些事件

  • vdlp.rssfetcher.item.processTitle
  • vdlp.rssfetcher.item.processContent
  • vdlp.rssfetcher.item.processLink

使用方法如下

Event::listen('vdlp.rssfetcher.item.processTitle', function (&$title) {
    $title = $title . 'A';
});

Event::listen('vdlp.rssfetcher.item.processContent', function (&$content) {
    $content = strip_tags($content);
});

报告小部件

此插件还包含一个RSS头条新闻小部件,可在仪表板上显示最新标题。此小部件有三个可配置属性:maxItemstitledateFormat

Cronjob

配置cronjob有许多方法。以下是一个基本的cronjob配置示例

5/* * * * php path/to/artisan vdlp:fetch-rss >> /dev/null 2>&1

上面的行负责每5分钟抓取所有源。

vdlp:fetch-rss命令接受可选的source_id参数。如果您只想在此时抓取一个源,请提供源ID。

从代码执行

在您的插件代码中,您还可以使用以下代码执行Artisan命令

<?php

use Artisan;
// ...

Artisan::call('vdlp:fetch-rss', ['source' => 2]);

或使用RssFetcher单例

RssFetcher::instance()->fetch(2);

问题

如果您在使用此插件时遇到问题,请创建GitHub上的问题或在octobercms@vdlp.nl上联系我们。

贡献

任何帮助都受欢迎。或者您可以自由地在GitHub上创建拉取请求。