agencyleroy / rss-feeds
rss.app 的 RSS 源
2.0.0
2023-11-14 12:22 UTC
Requires
- craftcms/cms: ^4.0.0-alpha
Requires (Dev)
- craftcms/rector: dev-main
This package is auto-updated.
Last update: 2024-09-18 12:13:59 UTC
README
Craft CMS 3.x 的 Rss Feeds 插件
与 rss.app 的 RSS 源一起工作(支持单源、多源以及捆绑源)
要求
此插件需要 Craft CMS 3.0.0-beta.23 或更高版本。
使用 Rss Feeds
- 在 rss.app 中创建一个源。如有需要,调整源设置。
- 复制源 URL。
- 在插件设置中,您可以
- 激活/停用整个源
- 在表中添加多个源 - 源类型:选择源获取数据的服务。这应该与 rss.app 中的相同。如果您想从多个服务提供商获取源,请使用 rss.app 中的捆绑类型创建源。- 源 URL:rss.app 中的源 URL - 激活/停用所选行
选择单个源
- 从
/admin/settings/fields
创建一个类型为socialFeed
的字段 - 选择在前端显示的源
{% set feed = craft.rssFeeds.findFeedByUrl(entry.feed) %}
获取源的类型和数组
可用函数
- findFeed($serviceName = null): 返回源项的数组。服务提供商可以指定在参数中,应从源类型中选择。默认为 null。
可用属性
- serviceName: 显示服务提供商的名称
- authorTitle: 显示作者的标题。这可以在 rss.app 中更改
- authorLink: 服务提供商中作者的源链接
- feedTitle: 显示源项的标题或描述
- feedLink: 源项的链接
- feedPubDate: 源项发布的日期时间对象
- timestamp: 源项发布的时间戳
- feedImage: 源项中图片的 URL
- isActive(): 返回布尔值;整个源是否已激活。
Twig 代码示例
如何找到单个源
<pre>
{% for item in craft.rssFeeds.findFeed('instagram') %}
{{ item.serviceName }}
{{ item.authorTitle }}
{{ item.authorLink }}
{{ item.feedTitle }}
{{ item.feedLink }}
{{ item.feedPubDate|date('d.m.y') }}
{{ item.timestamp }}
{{ item.feedImage }}
{% endfor %}
</pre>
在创建 socialFeed 字段类型并在前端 (Twig) 获取详细信息后
<pre>
{% set socialfeed = craft.rssFeeds.findFeedByUrl(entry.feed) %}
{% set feedArray = socialfeed.feed|slice(0,4) %}
{% for feed in feedArray %}
{% if feed.type == 'twitter' %}
{# Frontend code for twitter feed #}
{% else if feed.type == 'intagram' %}
{# Frontend code for instagram feed #}
{% else %}
{# Frontend code for default feed #}
{% endif %}
{% endfor %}
</pre>
如何找到所有启用的源
<pre>
{% set feeds = craft.rssFeeds.findFeed() %}
{% for item in feeds %}
...
{% endfor %}
</pre>
使用 Composer 安装
运行以下命令安装插件
foo@bar:~$ composer require agencyleroy/rss-feeds
由 Agency leroy 提供