[Grok-dev] Trying to understand viewlets
Àlex Magaz Graça
rivaldi8 at gmail.com
Sat Dec 17 15:46:07 UTC 2011
Nice! Hadn't thought about this. Thanks!
Àlex
El 16/12/11 23:32, Souheil CHELFOUH escribió:
> For this kind of things, we usually use marker interfaces
> Marker interfaces are simple interfaces with nothing defined in them,
> used a bit like "tags"
>
>
> class ICoolView(Interface):
> """Views tagged with this are cool
> """
>
>
> then, in you views :
>
> class SomeCoolView(grok.View):
> ...
> grok.implements(ICoolView)
> ....
>
> class MySmashingView(grok.View):
> ...
> grok.implements(ICoolView)
> ....
>
>
> finally, in your viewlets :
>
> class MyViewlet(grok.Viewlet):
> grok.view(ICoolView)
>
>
> and you've got your thing working
>
> 2011/12/16 Àlex Magaz Graça<rivaldi8 at gmail.com>:
>> Hi,
>>
>> I've just converted my application to use viewlets instead of only views.
>> After the conversion, some doubts have arisen about which is the correct way
>> to use them.
>>
>> Right now, I have all the code in the update() method from the views. The
>> viewlets don't have any method, only grok directives binding them to views,
>> viewlet managers and templates.
>>
>> But, as I see it, it should be the other way round. The code in
>> Viewlet.update() and only directives in the views. This would allow to reuse
>> a viewlet in different views. However, I can't bind a viewlet to more than a
>> View. I've tryied the following, but both fail:
>>
>> class TestViewlet(grok.Viewlet):
>> grok.View(SomeView)
>> grok.View(SomeOtherView)
>>
>> grok.View(SomeView, SomeOtherView)
>>
>> The use case I'm thinking is for example a viewlet that displays a list of
>> objects. I would want to bind it to a view which only shows this list, but I
>> would also want to link it to a kind of dashboard view where it is rendered
>> along with other viewlets showing other information.
>>
>> I this the correct/usual way of using viewlets?
>>
>> Thanks,
>> Àlex
>>
>> _______________________________________________
>> Grok-dev mailing list
>> Grok-dev at zope.org
>> https://mail.zope.org/mailman/listinfo/grok-dev
>>
More information about the Grok-dev
mailing list