RssWidget implements WidgetRendererInterface
Concrete RSS widget implementation
The widget will show a certain number of items of the given RSS feed. The feed will be set by the feedUrl option. You can add a button to the widget by defining a button provider.
The following options are available during registration:
- feedUrl string Defines the URL or file providing the RSS Feed. This is read by the widget in order to fetch entries to show.
- limit int default: 5 Defines how many RSS items should be shown.
- lifetime int default: 43200 Defines how long to wait, in seconds, until fetching RSS Feed again
Tags
Table of Contents
Interfaces
- WidgetRendererInterface
- The WidgetRendererInterface is the (new) base interface for all kind of widgets.
Methods
- __construct() : mixed
- getSettingsDefinitions() : array<string|int, SettingDefinition>
- renderWidget() : WidgetResult
- This method returns the content of a widget. The returned markup will be delivered by an AJAX call and will not be escaped.
- determineFeedType() : string
- getFeedItems() : array<string|int, mixed>
- parseAtomFeed() : array<string|int, mixed>
- parseRssFeed() : array<string|int, mixed>
Methods
__construct()
public
__construct(WidgetConfigurationInterface $configuration, FrontendInterface $cache, BackendViewFactory $backendViewFactory[, ButtonProviderInterface|null $buttonProvider = null ][, array<string|int, mixed> $options = [] ]) : mixed
Parameters
- $configuration : WidgetConfigurationInterface
- $cache : FrontendInterface
- $backendViewFactory : BackendViewFactory
- $buttonProvider : ButtonProviderInterface|null = null
- $options : array<string|int, mixed> = []
getSettingsDefinitions()
public
getSettingsDefinitions() : array<string|int, SettingDefinition>
Return values
array<string|int, SettingDefinition>renderWidget()
This method returns the content of a widget. The returned markup will be delivered by an AJAX call and will not be escaped.
public
renderWidget(WidgetContext $context) : WidgetResult
Be aware of XSS and ensure that the content is well encoded.
Parameters
- $context : WidgetContext
Return values
WidgetResultdetermineFeedType()
protected
determineFeedType(SimpleXMLElement $feedXml) : string
Parameters
- $feedXml : SimpleXMLElement
Return values
stringgetFeedItems()
protected
getFeedItems(SettingsInterface $settings) : array<string|int, mixed>
Parameters
- $settings : SettingsInterface
Return values
array<string|int, mixed>parseAtomFeed()
protected
parseAtomFeed(SimpleXMLElement $atomFeed) : array<string|int, mixed>
Parameters
- $atomFeed : SimpleXMLElement
Return values
array<string|int, mixed>parseRssFeed()
protected
parseRssFeed(SimpleXMLElement $rssFeed) : array<string|int, mixed>
Parameters
- $rssFeed : SimpleXMLElement