Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Simple Pie with Silverstripe


Go to End
Reply


4 Posts   1573 Views

Avatar
MagicUK

Community Member, 60 Posts

19 January 2011 at 2:56am

Edited: 19/01/2011 4:03am

Hey All. I've been using this tutorial to create an RSS aggregator on a site I'm working on.

I have the following code above the doctype in one off my .ss tamplates pages:

<?php


    //get the simplepie library
    require_once('assets/simplepie.inc');
    
    //grab the feed
    $feed = new SimplePie();
    
    $feed->set_feed_url(array(
    	'http://feeds2.feedburner.com/CssTricks',
    	'http://smashingmagazine.com',
    ));

    
    //enable caching
    $feed->enable_cache(true);
    
    //provide the caching folder
    $feed->set_cache_location('assets/cache');
    
    //set the amount of seconds you want to cache the feed
    $feed->set_cache_duration(1800);
    
    //init the process
    $feed->init();
    
    //let simplepie handle the content type (atom, RSS...)
    $feed->handle_content_type();

?>

I have the simplepie.inc file in the assets folder and a cache directory with full writeable permissions, but unfortunately I'm getting the followng error:

Parse error: syntax error, unexpected T_REQUIRE_ONCE in /tmp/silverstripe-cache-home-isslcom1-public_html/.cache.themes.blackcandy.templates.news.ss on line 9

Would really appreciate any help.

Avatar
MagicUK

Community Member, 60 Posts

19 January 2011 at 4:01am

OK I've realised that the template files can't process the php from directly within the template file and I would need to call this php code from the php file for that specific page type.

I have no idea how to do this though. Can someone point me in the right direction?

Avatar
Willr

Forum Moderator, 5514 Posts

20 January 2011 at 9:12pm

Yes all PHP code should be in your PHP file!

For a start make a new custom page type (as the tutorials explain) then you can make a custom function which returns a set of all your entries. See http://pastie.org/1479977 for a simple example.

You can also use RestfulService for this sort of work - http://doc.silverstripe.org/sapphire/en/reference/restfulservice#other-uses

Avatar
MagicUK

Community Member, 60 Posts

21 January 2011 at 12:52am

Thanks Willr. I really appreciate your response.