[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