On Oct 20, 2010, at 11:18 PM, ron_m wrote:
> 
> Certainly the way you describe is in the book and is right, what I
> suggest is something I have done that works. However it could be one
> of things that bites later because I am depending on the current
> mapping of args to additional path elements and am essentially
> bypassing what the API should be doing for me. I need to reconsider
> how I am doing this part of my menus - still learning this framework.
> Being a former Java head and for a while PHP it sure is nice to work
> with both Python and web2py.
> 
> Thanks for the pointer.

It's largely a matter of style. The only compelling reason to use URL() at all 
is if you're rewriting your URLs via routes.py. In that case, URL does the 
outgoing rewrites. Otherwise, it's just a helper, and the only reason to use 
the flavor I suggested is for readability. If you're not doing rewrites, you 
could just as well say:

'/appname/default/products/used'

or

'/%s/default/products/used' % request.application

if you don't want to embed the appname into the code.

But you (or someone else) might want to add rewriting later on, for some reason 
or other (maybe mapping domains to applications), so I'm *not* advocating that 
anyone actually do that.

> 
> Ron
> 
> On Oct 20, 10:55 pm, Jonathan Lundell <[email protected]> wrote:
>> On Oct 20, 2010, at 10:44 PM, ron_m wrote:
>> 
>> 
>> 
>>> This works
>> 
>>> URL(request.application,'default','products/used'), [])
>> 
>> You can also do something like this, which to my mind is more readable:
>> 
>> URL('default', 'products', args=['used'])
>> 
>> or equivalently, and even more readable:
>> 
>> URL(c='default', f='products', args=['used'])
>> 
>> I say "something like" because I didn't explicitly test it.
>> 
>> 
>> 
>>> On Oct 20, 7:40 pm, Jason Brower <[email protected]> wrote:
>>>> response.menu = [
>>>>     (T('Home'), False, URL(request.application,'default','index'), []),
>>>>     (T('Products'), False,
>>>> URL(request.application,'default','products'), []),
>>>>     (T('Used Products'), False,
>>>> URL(request.application,'default','products'), []),
>>>>     (T('Company'), False, URL(request.application,'default','company'),
>>>> [])
>>>>     ]
>>>> Notice I have to products pages... basically they are they same but they
>>>> have some feilds I want different in them... one will go to
>>>> default/products and the other to default/products/used.
>>>> BR,
>>>> Jason
>> 
>>>> On Wed, 2010-10-20 at 11:26 -0700, mdipierro wrote:
>>>>> ?
>> 
>>>>> On Oct 20, 12:26 pm, Jason Brower <[email protected]> wrote:
>>>>>> Are there no arg in response.menu?  If not I can build it different, but
>>>>>> I thought it would so I can do some special menu items.
>>>>>> :/ Innerestin'
>>>>>> ---
>>>>>> BR,
>>>>>> Jason
>> 
>>>>>>  face-uncertain.png
>>>>>> 1KViewDownload
>> 
>> 


Reply via email to