Thanks Daniel.  It works now. The working form looks like this:

class MyViewlet(BrowserView):
    """
    My browser viewlet
    """
    interface.implements(IViewlet)
    render = ViewPageTemplateFile('myviewlet.pt')
    request_layer = z3c.form.interfaces.IFormLayer
    
    def __init__(self, context, request, view, manager):
        super(MyViewlet, self).__init__(context, request)
        self.__parent__ = view
        self.view = view
        self.context = context
        self.request = request
        self.manager = manager
        self.form = MyForm(context, request) #a z3c.form

    def get_form(self):
        z2.switch_on(self, request_layer=self.request_layer)
        self.form.update()
        return self.form.render()

and the template is simply:

Get Form 

Thanks,

Craig

_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers




Daniel Nouri wrote:
> 
> I forgot you need to call plone.z3cform.z2.switch_on.  You may also want
> to look at how it's done in plone.z3cform.layout (or use that
> altogether, and forget about switch_on).
> -- 
> Daniel Nouri - http://danielnouri.org
> 

-- 
View this message in context: 
http://n2.nabble.com/z3c-form-in-a-viewlet-tp1356518p1360761.html
Sent from the Product Developers mailing list archive at Nabble.com.


_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to