dodecastudio / craft-feedreader
一个用于在Craft CMS模板中加载和显示RSS和Atom订阅源的简单插件。
2.0.0
2024-04-22 14:10 UTC
Requires
- php: >=7.4
- craftcms/cms: ^3.0|^4.0|^5.0
- guzzlehttp/guzzle: ^7.2.0
- laminas/laminas-feed: >=2.17.0
This package is auto-updated.
Last update: 2024-09-22 15:05:32 UTC
README
需求
- Craft CMS 3.X, 4.X 或 5.X
- PHP 7.4+
安装
按照以下步骤安装插件
-
打开您的终端并转到您的Craft项目
cd /path/to/project
-
然后告诉Composer加载插件
composer require dodecastudio/craft-feedreader
-
在控制面板中,转到设置 → 插件,然后点击FeedReader的“安装”按钮。
概览
FeedReader插件利用Craft内置的Feeds API直接在模板中加载和显示RSS或Atom订阅源。由于Feeds API在Craft 4中已被弃用,此插件借用了Craft 3的原始代码以确保在两个Craft版本中都能正常工作。
使用FeedReader
获取订阅源
getFeed
变量将获取订阅源并返回订阅源信息和订阅源项作为数组。
{% set newsFeed = craft.feedreader.getFeed("http://feeds.bbci.co.uk/news/uk/rss.xml", 43200, true) %}
然后您可以输出有关订阅源及其包含的项的信息,如下所示
{# Output feed info #} <h1>{{ newsFeed.title }}</h1> <p>Feed: <a href="{{ newsFeed.link }}">{{ newsFeed.link }}</a></p> {# Output the feed items #} <ul> {% for newsItem in newsFeed.items %} <li> <a href="{{ newsItem.permalink }}">{{ newsItem.title }}</a> - {{ newsItem.date.date|date("Y-m-d H:i:s") }} </li> {% endfor %} </ul>
支持的参数
可用于 getFeed
变量的参数有
获取订阅源项
如果您不需要订阅源信息,并希望对订阅源项有更多控制,则 getFeedItems
变量将获取订阅源项并将它们作为数组返回。
{% set newsFeedItems = craft.feedreader.getFeedItems("http://feeds.bbci.co.uk/news/uk/rss.xml", 10, 10, 1000, true) %}
然后您可以输出项,如下所示
{# Output the feed items #} <ul> {% for newsItem in newsFeedItems %} <li> <a href="{{ newsItem.permalink }}">{{ newsItem.title }}</a> - {{ newsItem.date.date|date("Y-m-d H:i:s") }} </li> {% endfor %} </ul>
支持的参数
可用于 getFeedItems
变量的参数有
插件设置
默认设置可以被覆盖。请参阅 feedreader-config.php
文件以获取详细信息。