toastnz/xmlfeed

Silverstripe 简单 XML 提取模块

安装: 46

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 5

分支: 1

公开问题: 0

类型:silverstripe-vendormodule

2.0 2024-06-17 05:06 UTC

This package is auto-updated.

Last update: 2024-09-17 05:40:57 UTC


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 %>