How to add a custom RSS feed to a custom component? - Joomla! Forum - community, help and support


as practice i'm developing custom j2.5 component. it's working far. want add custom rss feed component. i've been reading 'mastering joomla' (it's j1.5, know, it's basic code) , search forum. i've found topic still can't figure out how works.

it's simple event component so: categories, venues , events.
the things i've done far:

made model: feeds.php (in model folder)

code: select all

<?php

// no direct access file
defined('_jexec') or die('restricted access');

// import joomla modellist library
jimport('joomla.application.component.modellist');

/**
 * feed  model
 */
 
class eventmanagermodelfeeds extends jmodellist
 {
   protected function getlistquery(){
 
  $db = jfactory::getdbo();
  $query = $db->getquery(true);
      
      $query =  ' select u.*, a.*, v.* '.
          ' #__eventmanager_events u '.
          ' left join #__eventmanager_venues ' .
          ' on u.venue_id = a.venue_id ' .
        ' left join #__eventmanager_categories v ' .
        ' on u.cat_id = v.cat_id ' .
        ' start_date >= now()-interval 1 day' .
        ' order start_date'
        ;
       
        return $query;
   }
 }         
?>


made view: view.feed.php (in views/events folder)

code: select all

<?php

// no direct access file
defined('_jexec') or die('restricted access');

// import joomla view library
jimport('joomla.application.component.view');

/**
 * eventmanager component rss feed
 *
 * @package joomla
 * @subpackage eventmanager component
 * @since      0.9
 */

 /**
 * feed view
 */

class eventmanagerviewfeeds extends jview
{
   function display($tpl = null)
   {
         $document =& jfactory::getdocument();
         $document->setlink(jroute::_('index.php?option=com_eventmanager'));
   
         if ($document->gettype() != 'feed') {
         jerror::raiseerror('e999', 'fatal error, document type: "' . $doc->gettype() . '" not supported.');
            };
         
        //get data model:
        $items = $this->get('items');
       
        //assign value item:
        foreach ($items $item) :
         
          $item = new jfeeditem();
          $item->title = $feed->title;
     $item->location = $feed->a.venue;
          $item->description = $feed->e_description;
          $item->date = date("l d m", strtotime($feed->start_date));
          $item->pubdate = $feed->start_date;
         
          $document->additem($item);
          endforeach;       
                           
   parent::display($tpl);
   }
}   
?>


and template: default.feeds.php (i know foreach routine overdone, i'm lost. it's way want present feed) in views/events/tmpl folder.

code: select all

<?php
// no direct access file
defined('_jexec') or die('restricted access');
// load tooltip behavior
jhtml::_('behavior.tooltip');
require_once jpath_component.'/controller.php';
?>

<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>barflyer agenda</title>
<link>http://www.barflyer.nl</link>
<description>barflyer evenementen</description>
<language>nl-nl</language>
<copyright>2012 barflyer</copyright>
<webmaster>h.van der vliet</webmaster>
<lastbuilddate>04 dec 2012</lastbuilddate>
<image>
<url>http://www.barflyer.nl/images/logo_barflyer.png</url>
<title>barflyer evenementen</title>
<link>http://www.barflyer.nl</link>
<height>95</height>
<width>133</width>
<description>a web development resource center</description>
</image>

<?php
  foreach($this->items $i => $item) :
 
   echo '<item>
          <title>'.$item['title'].'</title>
          <link>'.$item['article_url'].'</link>
          <description>'.$item['e_description'].'</description>
          <category>'.$item['cat_id'].'</category>
          <pubdate>'.$item['start_date'].'</pubdate>
          <source url="http://www.barflyer.nl/index.php/evenementen2">barflyer</source>
          </item>';
 endforeach;
?>

</channel>
</rss>


and least, link in webpage wich shows normal eventdata in website:

code: select all

<a href="<?php echo jroute::_('index.php?option=com_eventmanager&format=feeds');?>" target="_blank">
   <?php $feedimage = juri::root() . "components/com_eventmanager/images/barflyer_rss_small2.png"; ?>
   <img src="<?php echo $feedimage; ?>" align="right" />


the output een error 500: view not found[name, type, prefix]: events, feeds, eventmanagerview

can please me further.
thank you






Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support