Difference between revisions of "Workshop - week 06"
From mi-linux
Jump to navigationJump to searchLine 67: | Line 67: | ||
</dl> | </dl> | ||
</pre> | </pre> | ||
+ | |||
+ | You can then simply access your consumed feed at the following URL: | ||
+ | http://mi-linux.wlv.ac.uk/~0123456/zend/public/feed/ | ||
+ | |||
+ | Note: Please replace 0123456 by your own student numbeer! | ||
== Producing your own web feed == | == Producing your own web feed == |
Revision as of 14:12, 28 January 2009
Main Page >> Web Frameworks >> Web Frameworks - Workbook >> Workshop - week 06
Consuming an existing web feed
First you need to create a new controller, with just one action (the "index" default one):
<?php // application/controllers/FeedController.php class FeedController extends Zend_Controller_Action { protected $_model; public function indexAction() { // Read remote feed try { $rss = Zend_Feed::import('http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml'); } catch (Zend_Feed_Exception $e) { // feed import failed echo "Exception caught importing feed: {$e->getMessage()}\n"; exit; } // Initialize the channel data array $channel = array( 'title' => $rss->title(), 'link' => $rss->link(), 'description' => $rss->description(), 'items' => array() ); // Loop over each item and store relevant data foreach ($rss as $item) { $channel['items'][] = array( 'title' => $item->title(), 'link' => $item->link(), 'description' => $item->description() ); } // Pass to view $this->view->entries = $channel['items']; } }
You also need to create a view for your new controller/action.
<!-- application/views/scripts/feed/index.hhtml --> Feed Entries: <br /> <dl> <!-- Loop through the entries provided by the controller --> <? foreach ($this->entries as $entry): ?> <dt><?= $this->escape($entry['title']) ?></dt> <dd><?= $this->escape($entry['description']) ?></dd> <? endforeach ?> </dl>
You can then simply access your consumed feed at the following URL: http://mi-linux.wlv.ac.uk/~0123456/zend/public/feed/
Note: Please replace 0123456 by your own student numbeer!