[pLog-CVS] plog/class/view rssview.class.php,1.3,1.3.4.1
Brought to you by:
jondaley
From: Oscar R. <phu...@us...> - 2004-04-14 17:23:33
|
Update of /cvsroot/plog/plog/class/view In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17923/class/view Modified Files: Tag: PLOG_1_0_DEVEL_TEST rssview.class.php Log Message: It is now possible to drop any .template file in the templates/rss/ folder and use it for defining custom syndication feeds. The RssView class will first use the new TemplateService::templateExists method to check if the requested .template file exists and if it does, it will use it for generating the feed. If it doesn't then it will use the default one. In order to use a custom feed --> http://.../rss.php?blogId=X&profile=xyz, where 'xyz' is the name of the file (withouth the .template extension) This has been used to add support for the xbel bookmark format, thanks to Nick for the initial idea :) (http://pyxml.sourceforge.net/topics/xbel/) A few other methods needed to more cleanly support this have been added here and there, check out the diffs for more information. Index: rssview.class.php =================================================================== RCS file: /cvsroot/plog/plog/class/view/rssview.class.php,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -C2 -d -r1.3 -r1.3.4.1 *** rssview.class.php 20 Jan 2004 18:44:07 -0000 1.3 --- rssview.class.php 14 Apr 2004 17:23:24 -0000 1.3.4.1 *************** *** 9,23 **** * using the templates available in */ ! class RSSView extends BlogView { ! function RSSView( $blogInfo, $profile ) { $this->BlogView( $blogInfo ); $this->_profile = $profile; } function render() { // load the contents into the template context $template = $this->_templateService->Template( $this->_profile, "rss" ); --- 9,36 ---- * using the templates available in */ ! class RSSView extends BlogView ! { ! ! var $_profile; ! var $_defaultProfile; ! function RSSView( $blogInfo, $profile, $defaultProfile ) { $this->BlogView( $blogInfo ); + + _debug("profile = $profile - default = $defaultProfile"); $this->_profile = $profile; + $this->_defaultProfile = $defaultProfile; } function render() { + // check if the template we're trying to load exists... + if( !$this->_templateService->templateExists( $this->_profile, "rss" )) { + // if not, then we will use the default one + $this->_profile = $this->_defaultProfile; + } + // load the contents into the template context $template = $this->_templateService->Template( $this->_profile, "rss" ); |