[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