Hi Florian, I have been playing with your example, try this:
download http://user.cs.tu-berlin.de/~reuleaux/blogs.tgz unpack and cd into blogs edit buildout.cfg as you see fit: especially the eggs-directory should be changed, right now: /home/reuleaux/z3eggs $ python bootstrap.py $ ./bin/buildout $ ./bin/instance start|stop|restart|debug then goto: localhost:8080 you can e. g. add a folder there, say foo (but you don't have to) the use the My skin: http://localhost:8080/++skin++My/foo there you can add blog entries, edit them, see the list of all entries, there is some navigation bar on the left. Basically this is a mixture of * the addressbook-example of formdemo * your interface defs * Baiju's blog for zc.buildout example * some of my own stuff, that I learnt from z3c.form so far some points to note: * somewhere in a template I was having difficulties with widget/content -> therefore changed to cntnt * there are some Makefiles in there that allow you to clean up - in the current folder with: make clean - recursively with: make rclean * the example really needs some cleanup - lot's of pkgs not needed - forms could certainly be used smarter: e g. I wanted a DisplayForm with a change button -> I used form.Form however it works for me. hope this helps. -Andreas On Sun, Sep 02, 2007 at 09:39:56PM +0200, Florian Lindner wrote: > Hello, > I am still trying to build an EditForm using z3c.form. Since my previous > thread is rather old I dare to open a new one. > > I've tried a number of variations and will post the one which is the closest > to the example. > > This is the interface: > > class IBlogEntry(IContainer): > """Interface for blog entry objects.""" > contains(IBlogComment) > > title = TextLine( > title = _(u"Blog entry title"), > description = _(u"Blog entry title."), > default = u"", > required = True) > > content = Text( > title = _(u"Blog entry content"), > description = _(u"Blog entry content."), > default = u"", > required = True) > > inputType = Choice( > title = _(u"Type of input"), > description = _(u"Specify the input type"), > required = True, > default = u"reStructeredText", > values = [u"reStructeredText", u"HTML"] ) > > The view is configured like that: > > <z3c:pagelet > name="EditEntry.html" > for="..interfaces.IBlogEntry" > class=".views.EditEntry" > permission="Blog.EditEntry" > layer="Blog.interfaces.IBlogLayer" > /> > > The code in .views.EditEntry is: > > class EditEntry(layout.FormLayoutSupport, form.EditForm): > fields = field.Fields(IBlogEntry).select("title", "content") > > The layer is registered like that: > > <interface > interface=".interfaces.IBlogLayer" > name="BlogSkin" > type="zope.publisher.interfaces.browser.IBrowserSkinType" > /> > > and > > class IBlogLayer(IFormLayer, IPageletBrowserLayer): > """Demo browser layer using div-form layout template.""" > > > Now I call the URL. > > http://localhost:8080/++skin++BlogSkin/Blog/2007_08_16_abc/EditEntry > > 2007_08_16_abc ist an BlogEntry object. > > Now there comes an "ComponentLookupError. A server error occurred. " up. > > Traceback (most recent call last): > Module zope.publisher.publish, line 133, in publish > result = publication.callObject(request, obj) > Module zope.app.publication.zopepublication, line 167, in callObject > return mapply(ob, request.getPositionalArguments(), request) > Module zope.publisher.publish, line 108, in mapply > return debug_call(obj, args) > - __traceback_info__: <security proxied z3c.pagelet.zcml.EditEntry > instance > at 0xa0248cc> > Module zope.publisher.publish, line 114, in debug_call > return obj(*args) > Module z3c.formui.layout, line 27, in __call__ > ILayoutTemplate) > Module zope.component._api, line 103, in getMultiAdapter > raise ComponentLookupError(objects, interface, name) > ComponentLookupError: ((<z3c.pagelet.zcml.EditEntry object at 0xa0248cc>, > <zope.publisher.browser.BrowserRequest instance > URL=http://localhost:8080/++skin++BlogSkin/Blog/2007_08_16_abc/EditEntry.html>), > > <InterfaceClass z3c.template.interfaces.ILayoutTemplate>, u'') > > > I have also tried some variations of the above like not using z3c:pagelet but > an normal page directive, registered it without an layer directive and so on. > > So please... whats wrong there? > > Thanks, > > Florian > _______________________________________________ > Zope3-users mailing list > Zope3-users@zope.org > http://mail.zope.org/mailman/listinfo/zope3-users > > > !DSPAM:46db201184319549218874! _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users