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

Reply via email to