Koen, sorry, I totally missed this: the issue here is the missing cutting parameter. You have to use <route name="rss" stop="false" cut="true" pattern="/rss$" output_type="rss" /> for this to work properly.
Cheers, David Am 24.01.2007 um 12:32 schrieb Van Daele, Koen: > I used the route you gave: > > <route name="rss" stop="false" pattern="/rss$" output_type="rss" /> > > Is the placement within routing.xml important? Right now it's on > the first line. I experimented with putting it near the end, but > then the rss page never gets shown then (Makes sense, think I now > understand what stop="false" does). > > Koen > >> -----Oorspronkelijk bericht----- >> Van: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] Namens David Zülke >> Verzonden: woensdag 24 januari 2007 12:16 >> Aan: Agavi Users Mailing List >> Onderwerp: Re: [Agavi-Users] Generating a RSS feed >> >> Can you paste the rss rule, too, please? Maybe a small >> reproduce case from routing.xml :) >> >> Thanks, >> >> David >> >> >> >> Am 24.01.2007 um 11:14 schrieb Van Daele, Koen: >> >>> 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 >>> >> >> >> _______________________________________________ >> 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
