One more thing, generating the rss version of a route doesn't seem to work.
Echo $ro->gen('Nieuws+rss'); only generates the first part (the /rss isn't
appended). Something wrong with the syntax?
Koen
> -----Oorspronkelijk bericht-----
> Van: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Namens Van Daele, Koen
> Verzonden: woensdag 24 januari 2007 10:17
> Aan: Agavi Users Mailing List
> Onderwerp: Re: [Agavi-Users] Generating a RSS feed
>
> David,
>
> Thanks for the explanation. Works like a charm.
> One more question: is it possible to have a parameter in a
> route that only appears for a certain ouptut type.
> E.g.: I have the route
> <route name="Nieuws" pattern="^/nieuws/(page:\S+)?"
> module="Algemeen" action="NieuwsTonen>
> <defaults>
> <default for="page">1</default>
> </default>
> </route>
>
> Combined with the rss output type this gives url's like
> /nieuws/1/rss. This is not very elegant and the page
> parameter is actually only relevant for the html output (sine
> that is paged, but rss just displays the latest X news items).
>
> Greetings,
> Koen
>
> P.S.: I already had a baseview, but I did not have the setup
> with executeHtml(). Thanks for the tip.
>
>
> > -----Oorspronkelijk bericht-----
> > Van: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] Namens David Zülke
> > Verzonden: maandag 22 januari 2007 13:58
> > Aan: Agavi Users Mailing List
> > Onderwerp: Re: [Agavi-Users] Generating a RSS feed
> >
> > Hi Koen,
> >
> > you were right - all you need is a new output type!
> >
> > First, you have to define that new one (e.g. "rss") in
> > output_types.xml. You can define a renderer if you want to use a
> > template to generate the output, or you omit the renderer
> definition
> > and use a library to generate the RSS content in the view
> (even though
> > I'm not aware of any PHP libraries that generate RSS).
> > Next, simply define executeRss() in your View and put the necessary
> > code in there.
> > Now all that's left is to decide that we want RSS as the
> output type
> > and not HTML. To do that, you have several options. You can use the
> > routing:
> > <route name="rss" stop="false" pattern="/rss$"
> > output_type="rss" /> That will set the output type to "rss"
> > for all URLs that end on /rss.
> > You can generate such an RSS variant of a URL using
> $r->gen('routename
> > +rss', ...);
> > Alternatively, you could use a filter, but that's not very
> elegant.
> > The last opportunity to change the output type is in your view's
> > initialize method, you could check a request parameter there or
> > something. But using the routing is definitely the way to go.
> >
> > Hope that helps,
> >
> > David
> >
> >
> > P.S: it is recommended that you have a MyBaseView from
> which all views
> > extend. This base view has an execute() method that throws an
> > exception, or forwards to a 404 action. All your specific views
> > implement only executeHtml(), executeRss() etc methods.
> That way, you
> > do not need to worry about the routing setting an output type that
> > some of your actions/views do not implement.
> >
> >
> >
> > Am 22.01.2007 um 08:58 schrieb Van Daele, Koen:
> >
> > > Hi,
> > >
> > > I'd like to make a RSS feed for newsitems. I've already got
> > an action
> > > a a view to display the html page with the newsitems, but
> > now I'd like
> > > to generate a feed for this.
> > >
> > > Do I need to define a completely different but identical
> action for
> > > this or can I reuse the action and e.g. set the output
> type to rss?
> > > Can anyone give an example of the different files that need to be
> > > altered for this (routing, output_types, view, ...)?
> > >
> > > Greetings,
> > > Koen
> > >
> > > _______________________________________________
> > > users mailing list
> > > [email protected]
> > > http://lists.agavi.org/mailman/listinfo/users
> > >
> >
> >
> > _______________________________________________
> > users mailing list
> > [email protected]
> > http://lists.agavi.org/mailman/listinfo/users
> >
>
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.agavi.org/mailman/listinfo/users
>
_______________________________________________
users mailing list
[email protected]
http://lists.agavi.org/mailman/listinfo/users