toastnz / xmlfeed
Silverstripe 简单 XML 提取模块
2.0
2024-06-17 05:06 UTC
Requires
- composer/installers: *
- silverstripe/cms: ^4.3 || ^5.0
- silverstripe/framework: ^4.3 || ^5.0
README
辅助函数,用于检索外部 XML 提取,缓存并将其渲染到模板中。
要求
- silverstripe/cms ^4.3.x
- silverstripe/framework ^4.3.x
安装
composer require toastnz/xmlfeed
配置
配置默认缓存有效期或默认提取 URL
Toast\XMLFeed\Feed: CacheLifetime: 3600 URL: "https://external.feed.url/feed.xml"
使用方法
use Toast\XMLFeed; $feed = Feed::get($url = null, $xmlPath = null, $cacheLifetime = 300, $asArray = false, $flushCache = false);
默认情况下,将返回一个 ArrayList,可以直接渲染到模板中。
注意:您必须检查 XML 提取的原始内容以确定字段名称。
示例
XML
<RSS> <Items> <Item> <Headline>Sed in viverra dui. Nullam vel congue massa.</Headline> <Summary>Ut id nisi vitae massa consectetur dictum quis sed sapien. At euismod turpis</Summary> </Item> <Item> <Headline>Aliquam dictum finibus magna</Headline> <Summary>Cras mattis non elit sit amet vulputate. Nunc at metus sed sapien eros.</Summary> </Item> </Items> </RSS>
PHP
use Toast\XMLFeed; ... class PageController extends ContentController { public function getNewsFeed() { return Feed::get('https://newswebsite.url/news-feed.xml', 'RSS.Items'); } }
模板
<% loop $NewsFeed %> <h1>$Headline.XML</h1> <p>$Summary.XML</p> <% end_loop %>