[Zope3-Users] suppress menu item with zcml?

Jim Fulton jim at zope.com
Thu Jun 23 12:45:28 EDT 2005


Dylan Reinhardt wrote:
> On 6/23/05, Jim Fulton <jim at zope.com> wrote:
> 
>>Dylan Reinhardt wrote:
>>
>>>When my content interface *inherits* from an interface, this seems to
>>>work... but when my class *implements* an interface, this appears not
>>>to.
>>
>>I don't know what you mean.
> 
> 
> Perhaps I'm not using the correct terminology.  :-)
> 
> Here are the two cases:
> 
> Case 1 ("implements"):
> ----------
>  I have a ZCML directive such as this:
> 
> ----
>   <content class=".mycode.MyClass">
>     <implements
>         interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
> 	/>
>     <!--much snipped-->
>   </content>
> ----
> 
> 
>     
> Case 2 ("inherits").
> -----------
>  I use the following in my interface definition:
> 
> ----
>    from something.interfaces import ISomeBase
> 
>    class IMyClass(ISomeBase):
>        """ this interface inherits from another one """
> ----
> 
> In case 2, I'm able to use the menuitem ZCML directive to suppress a
> menu that's defined by ISomeBase.  All good.
> 
> In case 1, I can't find a way to suppress the display of the Metadata
> tab.... at least not without resorting to a custom template or
> wrapping/modifying built-in code.  This *seems* like a task for ZCML,
> yes?
> 
> Does that help clarify the problem I'm seeing?

I think so.  So, you don't want to define a new interface that
extends IAttributeAnnotatable.

You should be able to define the menu item for the class.
If you can't I'd consider that a bug.  (This bug is not unlikely,
because we may not have gotten around to supporting classes
in menu-item for attriutes.)

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-users mailing list