The silverstripe-feedreader module
implements a new page type (FeedReaderPage) that can access the data
contained in an external RSS 2.0 or ATOM 1.0 feed. The feed format is
automatically deduced from its content, that is if the //channel/item
XPath expression resolves to a non-emtpy
list it is considered an RSS2 feed, otherwise it is considered ATOM1,
and the //feed/entry
expression will be used instead.
The main developement is done in dev
: that is merged into master
when
stable enough. When this happens, an appropriate 2.*
release is tagged.
dev
and master
branches, together with any 2.*
release, are compatibles
with SilverStripe 4. For SilverStripe 3 you should take a look at the ss3
branch and 1.*
releases.
With composer:
composer require entidi/feedreader
Without composer, download the tarball
and unpack it under the base directory. This method is not really tested,
so it can be possible you will need to tweak something.
The default template (templates/eNTiDi/FeedReader/Layout/FeedReaderPage.ss
)
is compatible with silverstrap ^4.0
but it can be easily overriden by redefining the FeedReaderPage.ss
file in
your own theme with higher priority.
To provide access to the latest news, you can define a function similar
to the following:
public function LatestNews()
{
$news = DataObject::get_one('eNTiDi\FeedReader\FeedReaderPage');
return $news ? $news->Items(1)->first() : null;
}
Then you can enhance your feed page with a template snippet, e.g.:
<% with $LatestNews %>
<h2>Latest news</h2>
<section>
<p>$Date.Date: $Summary.XML</p>
<a href="$Link.ATT">More ...</a>
</section>
<% end_with %>
This project has been developed by ntd. Its
home page is shared by other
SilverStripe modules and themes.
To check out the code, report issues or propose enhancements, go to the
dedicated tracker.
Alternatively, you can do the same things by leveraging the official
github repository.
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem