[Zope3-Users] addview name not form
Florian Lindner
mailinglists at xgm.de
Mon Oct 10 16:25:05 EDT 2005
Am Montag, 10. Oktober 2005 19:33 schrieb Julien Anguenot:
> Florian Lindner wrote:
> > Am Montag, 3. Oktober 2005 14:01 schrieb Florian Lindner:
> >>Am Freitag, 30. September 2005 20:17 schrieb Julien Anguenot:
> >>>Florian Lindner wrote:
> >>>>Am Donnerstag, 29. September 2005 20:25 schrieb Julien Anguenot:
> >>>>>First have a look at this :
> >>>>>
> >>>>>http://www.zope.org/Collectors/Zope3-dev/391
> >>>>
> >>>>Sorry, didn't read that thoroughly. What do you suggest at the moment
> >>>>do get the desired behavior?
> >>>
> >>>Your ContentFolder should implement IAdding and then your example should
> >>>work I guess.
> >>
> >>I've modified my content class directive for the addfolder:
> >>
> >><interface
> >> interface=".interfaces.IContentFolder"
> >> type="zope.app.content.interfaces.IContentType" />
> >><content class=".contentfolder.ContentFolder">
> >> <implements
> >> interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
> >> <implements
> >> interface="zope.app.container.interfaces.IContentContainer" />
> >> <implements
> >> interface="zope.app.container.interfaces.IAdding" />
> >> <factory description="CS ContentFolder" />
> >> <require permission="CS.View" interface=".interfaces.IContentFolder" />
> >> <require permission="CS.Edit" set_schema=".interfaces.IContentFolder"
> >> /> </content>
> >>
> >>
> >>And my addMenuItem:
> >>
> >> <addMenuItem
> >> title="Link"
> >> class="CS.Link.link.Link"
> >> view="AddCSLink.html"
> >> permission="CS.Add"
> >> menu="CSaddMenu"
> >> layer="centershock"
> >> for="CS.ContentFolder.interfaces.IContentFolder"
> >> />
> >>
> >>
> >>it's still:
> >>
> >>zope.configuration.exceptions.ConfigurationError: view name
> >> AddCSLink.html not found
> >
> > Does it work with your code? (the code I uploaded)
>
> Yes, if you specify the the addMenuItem directive :
>
> <addMenuItem
> title="Link"
> class="CS.Link.link.Link"
> view="AddCSLink.html"
> permission="zope.Public"
> menu="CSaddMenu"
> layer="centershock"
> />
>
> 1) specify a layer on the addMenuItem directive.
> 2) remove the for attribute for now until your ContentFolder class
> implements IAdding.
case 1) That makes my CSaddMenu not to show "Link" when it's displayed on
IContentFolder.
case 2) If I add the for="CS.ContentFolder.interfaces.IContentFolder"
attribute to both the addMenuItem and addform directives I have the problem
that the generated link on the addform contentfolder/AddCSLink.html and not
contentfolder/+/AddCSLink.html and therefore (the form without +) does not
work.
case 3) If I add <implements
interface="zope.app.container.interfaces.IAdding" /> to my content directive
for IContentFolder it changes nothing.
case 4) If after adding the marker interface IAdding for the ContentFolder, I
remove the for attribute from both addform and addMenuItem the result is the
same like case 2.
Sorry, I am still not able to make it work. :-(
Thanks for you help!
Florian
More information about the Zope3-users
mailing list