[Zope-dev] Modifying a menu

Max M maxm@mxm.dk
Fri, 15 Mar 2002 07:38:10 +0000


Marcia Perry wrote:

>Where in the Zope src is the menu labeled "Select type to add..." created?
>
Generally you cannot change this menu. At least not in the standard Zope 
management interface. A Zope with a management interface that was 
handicapped in this way could also be pretty dangerous.

You can however do it in your own products. So if you want your user to 
be able to only add some kind of objetcs in a folder, you create a 
ZClass or a Python products. Then you can decide which products can be 
added to your own folder.

If you create a ZClass you should just subclass ObjectManager, and then 
inside the product there will be a tab called "Subobjects" where you can 
select possible "legal" objects that the user can add.

---------------------------------

If you really want to get dirty. Which I would *strongly* advice 
against, you must look in:

<ZOPE>\lib\python\OFS\ObjectManager.py

and overwrite "all_meta_types()". This functions returns a list of 
tuples, telling which objects to be added to the "add *" selectbox.

But it WILL bite you later.

For further info google for "meta_types" and "all_meta_types"

regards Max M