예제 #1
0
 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
예제 #2
0
 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