def items(self): if hasattr(self, '_items'): return self._items ret = list() context = aq_inner(self.context) brains = self.context.portal_catalog({ 'portal_type': typesToList(self.context), 'sort_on': 'getObjPositionInParent', 'path': { 'query': '/'.join(self.context.getPhysicalPath()), 'depth': 1, }, 'Language': 'all', }) # plone_layout not available in plone3 #layout = getMultiAdapter((context, self.request), name=u'plone_layout') for brain in brains: icon = getMultiAdapter((self.context, self.request, brain), IContentIcon) #icon = layout.getIcon(brain) uid = brain.UID if not uid: # don't display items without UID continue cut = self.request.cookies.get('__fct') == uid ret.append(nav_item(item_id(uid), icon.url, brain.Title and brain.Title or brain.id, brain.is_folderish, self._item_selected(brain.getURL()), brain.review_state, cut, default_type_css(brain.portal_type))) self._items = ret return ret
def items(self): ret = list() uid = self.uid provider = get_provider(self.context, self.flavor, uid) if provider is None: return ret menu = getUtility(IBrowserMenu, name=u'plone_contentmenu_factory') for item in menu.getMenuItems(provider.get(uid), self.request): css = default_type_css(item.get('id', '')) icon = item['icon'] if icon: icon = 'background:url(\'' + icon + '\') no-repeat;' else: if not css: icon = 'background:none;' else: icon = None ret.append({ 'title': item['title'], 'url': item['action'], 'style': icon, 'css': css, }) return ret