georgringer/news-importicsxml

从 ICS + XML(本地文件或远程 URL)灵活导入新闻,包括图片和分类映射

3.0.0 2018-06-09 16:59 UTC

This package is auto-updated.

Last update: 2024-09-02 12:54:28 UTC


README

本扩展提供了 xml 和 ics 文件的导入接口,这些文件可以位于同一服务器上或通过 URL 访达。导入操作由调度器完成。

需求

  • TYPO3 CMS 10.4 LTS 或 11.5 LTS
  • EXT:news 8.0.0+

赞助商

截图

截图 #1:创建导入任务

Creation of an import task

截图 #2:导入 ICS 项的元数据

Metadata of an imported ics item

从 6.0 升级到 7.0 的重要信息

用于识别导入源的自生成的 ID 已更改。如果您再次导入现有项目,它们将重复一次。

安装

使用 Composer 安装

推荐通过 composer 安装扩展。在基于 composer 的 TYPO3 项目根目录中,只需执行 composer require georgringer/news-importicsxml。

从 TYPO3 扩展存储库(TER)作为扩展安装

使用扩展管理模块下载并安装扩展。

配置

安装扩展后,切换到 调度器 模块,创建一个新任务 导入新闻。以下字段可供使用:

格式

选择 XMLICS 以导入 ICS 文件或 XML 文件。

路径

定义一个本地路径,例如 fileadmin/data.xml 或任何 URL,例如 https://typo3.org/xml-feeds/rss.xml

页面 ID

定义一个页面 ID,新记录将保存在此页面 ID 上。

分类映射

可以使用分类映射将分类添加到新闻记录中,基于在源中找到的分类。

一个典型的源项可能看起来像这样

<item>
        <title>A possible title</title>
        <link>http://www.examle.com/feed.xml</link>
        <description>Lorem ipsum</description>
        <content:encoded><![CDATA[A lot of text]]></content:encoded>
        <category>Sports</category>
        <category>Tech</category>
        <category>Information</category>
        <pubDate>Tue, 02 Jun 2015 16:54:00 +0200</pubDate>
</item>

带有分类的 ICS 条目可能看起来像这样

BEGIN:VCALENDAR
PRODID:QIS-LSF HIS eG
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART;TZID=Europe/Berlin:20171016T141500
DTEND;TZID=Europe/Berlin:20171016T154500
RRULE:FREQ=WEEKLY;UNTIL=20171211T235900Z;INTERVAL=2;BYDAY=MO
EXDATE;TZID=Europe/Berlin:
LOCATION:C12 - C12 / 024
DTSTAMP:20180216T113640Z
UID:52965155936
DESCRIPTION:
SUMMARY:MK.1890a - Finite Berechnungsverfahren  Praktikum (A-Zug) (Eufinger)
CATEGORIES:Praktikum
END:VEVENT
END:VCALENDAR

可能的分类映射可能看起来像这样

5:Sports
17:Tech
17:Information

因此,导入的新闻记录将属于 ID 为 5 & 17 的分类。

电子邮件通知

添加一个电子邮件地址,每次运行后都会收到通知。

重要:此功能尚未实现!

持久化文章为外部页面类型

如果设置,新闻文章将以“外部 URL”类型保存。

更多信息

调试

本扩展使用了 TYPO3 CMS 的日志 API。您可以在日志文件中找到一些基本信息(默认 typo3temp/var/logs/typo3_****.log)。

扩展导入

如果您需要从源或ics项目导入额外数据,或者需要修改数据,请使用扩展news的事件分发。您可能需要使用NewsImportPostHydrateEvent事件监听器。

提示

有关可用事件的完整列表,请参阅news扩展的文档:https://docs.typo3.org/p/georgringer/news/main/en-us/Reference/Events/Index.html

提示

自TYPO3 v10版本起,事件分发基于PSR-14标准。要了解更多详细信息,请参阅核心API文档:https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Events/EventDispatcher/Index.html

提示

关于如何使用NewsImportPostHydrateEvent事件监听器的示例在ext:eventnews中提供。