[Zope] initlevel at initialization of product with aq_parent
   
    Nico de Boer
     
    nico@nfg.nl
       
    19 Jul 2002 16:37:54 +0200
    
    
  
Hi all,
I'm working on a product that renders treemenu's for websites. Now I
have to get an initlevel as starting point for my menu.
But the function getInitLevel doesn't work in the __init__ method,
because acquisition doesn't work here. 
Following Casey's example at www.zopelabs.com/cookbook/995468614 
I got to the following:
def manage_addSiteNav(self, id, title=''):
	"""Add a SiteNav to a folder."""
	self._setObject(id, SiteNav(id, title, self.getId(), self))
	if self.REQUEST is not None:
		return self.manage_main(self, self.REQUEST)
	def __init__(self, acquiredObjectName, container,
                 id, title='', initlevel= 0):
		"""initialise a new instance of SiteNav"""
		self = self.__of__(container) # Create an acquisition wrapper
		acquiredObject = getattr(self, acquiredObjectName) # Acquire the object
		self.id = id
		self.title = title
		self.initlevel = self.getInitLevel()
	def getInitLevel(self):
		"""returns the initlevel"""
		initlevel = 0
		parent = self
		while 1:
			if hasattr(parent,'aq_parent'):
				parent=parent.aq_parent
				initlevel = initlevel + 1
			else:
				break
		return initlevel - 1
But what is acquiredObjectName in this context?
Greetz Nico