agencyleroy/rss-feeds

rss.app 的 RSS 源

安装: 797

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 7

分支: 0

开放问题: 0

类型:craft-plugin

2.0.0 2023-11-14 12:22 UTC

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

  1. rss.app 中创建一个源。如有需要,调整源设置。
  2. 复制源 URL。
  3. 在插件设置中,您可以
  4. 激活/停用整个源
  5. 在表中添加多个源 - 源类型:选择源获取数据的服务。这应该与 rss.app 中的相同。如果您想从多个服务提供商获取源,请使用 rss.app 中的捆绑类型创建源。- 源 URL:rss.app 中的源 URL - 激活/停用所选行

选择单个源

  1. /admin/settings/fields 创建一个类型为 socialFeed 的字段
  2. 选择在前端显示的源
  3. {% 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 提供