def getFBdetails(self): item = self.context state = getMultiAdapter( (item, self.request), name=u'plone_context_state') obj = ICanContainMedia(item) details = {} details["title"] = item.Title() details["type"] = "article" details["site_name"] = "ZM" details["url"] = item.absolute_url() details["description"] = item.Description() details["double_image"] = "" details["image"] = "" if obj.hasMedia(): image = obj.getLeadMedia() details["image"] = image.absolute_url()+'/@@images/image/large' else: details["image"] = "" return details
def getFBdetails(self): item = self.context state = getMultiAdapter( (item, self.request), name=u'plone_context_state') # Check view type view_type = state.view_template_id() obj = ICanContainMedia(item) title = item.Title() copyrights = getattr(item, 'copyrights', None) if copyrights: if len(copyrights) > 0: title = "%s %s" %(title, "©") details = {} details["title"] = title details["type"] = "article" details["site_name"] = "Teylers Museum" details["url"] = item.absolute_url() details["description"] = item.Description() details["double_image"] = "" details["image"] = "" if view_type == "instruments_view": if hasattr(item, 'slideshow'): catalog = getToolByName(self.context, 'portal_catalog') slideshow = item['slideshow'] path = '/'.join(slideshow.getPhysicalPath()) results = catalog.searchResults(path={'query': path, 'depth': 1, 'portal_type': 'Image'}, sort_on='sortable_title') if len(results) > 0: lead_image = results[0] if lead_image.portal_type == "Image": details["image"] = lead_image.getObject().absolute_url()+"/@@images/image/large" else: details["image"] = "" if details["image"] == "": if obj.hasMedia(): image = obj.getLeadMedia() details["image"] = image.absolute_url()+"/@@images/image/large" if view_type == "double_view": if hasattr(item, 'slideshow'): slideshow = item['slideshow'] if len(slideshow.objectIds()) > 1: double_image = slideshow[slideshow.objectIds()[1]] if double_image.portal_type == "Image": details["double_image"] = double_image.absolute_url()+"/@@images/image/large" else: details["image"] = "" return details
def get_all_items_from_collection(self, collection_object): items = { "list":[], "object_idx":0, 'total':False } results = self.get_all_batch(collection_object, False) object_idx = self.get_object_idx(results, self.context.getId()) items['object_idx'] = object_idx for obj in results: if obj != None: obj_media = ICanContainMedia(obj.getObject()).getLeadMedia() if obj_media != None: items['list'].append({'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId(), 'title':obj.Title(), 'description': obj.Description(), 'body': ""}) return items
def build_json_with_list(self, list_items, object_idx, total, is_folder, total_items): items = { 'list':[], 'object_idx':object_idx, 'total': total, 'has_list_images':False, 'view_type': 'regular', 'total_items': 0 } state = getMultiAdapter( (self.context, self.request), name=u'plone_context_state') # Check view type view_type = state.view_template_id() if view_type == "double_view" or view_type == "multiple_view": items["has_list_images"] = True items["view_type"] = view_type items['total_items'] = total_items if is_folder: for obj in list_items: obj_media = ICanContainMedia(obj.getObject()).getLeadMedia() if obj_media != None: schema = self.get_all_fields_object(obj.getObject()) if not items['has_list_images']: items['list'].append({'schema':schema, 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId, 'title':obj.Title, 'description': obj.Description, 'body': self.get_object_body(obj.getObject())}) else: items['list'].append({'schema':schema, 'images':self.get_multiple_images(obj.getObject(), view_type), 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId, 'title':obj.Title, 'description': obj.Description, 'body': self.get_object_body(obj.getObject())}) else: for obj in list_items: obj_media = ICanContainMedia(obj.getObject()).getLeadMedia() if obj_media != None: schema = self.get_all_fields_object(obj.getObject()) if not items['has_list_images']: items['list'].append({'schema':schema, 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId(), 'title':obj.Title(), 'description': obj.Description(), 'body': self.get_object_body(obj)}) else: items['list'].append({'schema':schema, 'images':self.get_multiple_images(obj.getObject(), view_type), 'url':obj.getURL(),'image_url': obj_media.absolute_url()+'/@@images/image/large', 'object_id': obj.getId(), 'title':obj.Title(), 'description': obj.Description(), 'body': self.get_object_body(obj)}) return items