georgringer / news-importicsxml
从 ICS + XML(本地文件或远程 URL)灵活导入新闻,包括图片和分类映射
Requires
- georgringer/news: ^6.0 || ^7.0
- typo3/cms-core: ^8.7 || ^9.2
- typo3/cms-scheduler: ^8.7 || ^9.2
Replaces
- news_importicsxml: 3.0.0
- typo3-ter/news-importicsxml: 3.0.0
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+
赞助商
- Webconsulting https://webconsulting.at/
- TUM (慕尼黑工业大学) https://www.tum.de/
- 达姆施塔特-哈雷应用科学大学 https://www.h-da.de/
截图
截图 #1:创建导入任务

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

从 6.0 升级到 7.0 的重要信息
用于识别导入源的自生成的 ID 已更改。如果您再次导入现有项目,它们将重复一次。
安装
使用 Composer 安装
推荐通过 composer 安装扩展。在基于 composer 的 TYPO3 项目根目录中,只需执行 composer require georgringer/news-importicsxml。
从 TYPO3 扩展存储库(TER)作为扩展安装
使用扩展管理模块下载并安装扩展。
配置
安装扩展后,切换到 调度器 模块,创建一个新任务 导入新闻。以下字段可供使用:
格式
选择 XML 或 ICS 以导入 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中提供。