def get_title_image_tag(self): """Generate image tag. Note: ``target_title_image`` uses the uberselection-widget and does not return an object (unlike Archetypes reference fields). """ if self.image_is_background(): return None ref = self.data.target_title_image if ref is None: return image = ref.to_object if IImageScaleTraversable and IImageScaleTraversable.providedBy(image): try: view = image.restrictedTraverse('@@images') view = view.__of__(image) return view.tag('image', scale=self.data.title_image_scale, alt=image.description, title=image.title) except: pass
def get_background_image_url(self): ref = self.data.target_title_image if ref is None: return image = ref.to_object if IImageScaleTraversable and IImageScaleTraversable.providedBy(image): try: view = image.restrictedTraverse('@@images') view = view.__of__(image) return view.scale('image', scale=self.data.title_image_scale).url except: return ''
def get_title_image_tag(self): """Generate image tag. Note: ``target_title_image`` uses the uberselection-widget and does not return an object (unlike Archetypes reference fields). """ image_path = self.data.target_title_image # it feels insane that i need to do manual strippping of the first slash in this string. # I must be doing something wrong # please make this bit more sane if image_path is None or len(image_path)==0: return None # The portal root is never a image if image_path[0]=='/': image_path = image_path[1:] image = self.portal.restrictedTraverse(image_path, default=None) # we should also check that the returned object implements the interfaces for image # So that we don't accidentally return folders and stuff that will make things break scale = self.data.scale or u"mini" scale = scale.encode('ascii', 'replace') if IImageScaleTraversable and IImageScaleTraversable.providedBy(image): try: view = image.restrictedTraverse('@@images') view = view.__of__(image) return view.tag('image', scale=scale) except: return None elif IATImage.providedBy(image) and image.getImage() is not None: return image.tag(scale=scale) else: return None
def get_title_image_tag(self): """Generate image tag. Note: ``target_title_image`` uses the uberselection-widget and does not return an object (unlike Archetypes reference fields). """ image_path = self.data.target_title_image # it feels insane that i need to do manual strippping of the first slash in this string. # I must be doing something wrong # please make this bit more sane if image_path is None or len(image_path) == 0: return None # The portal root is never a image if image_path[0] == '/': image_path = image_path[1:] image = self.portal.restrictedTraverse(image_path, default=None) # we should also check that the returned object implements the interfaces for image # So that we don't accidentally return folders and stuff that will make things break scale = self.data.scale or u"mini" scale = scale.encode('ascii', 'replace') if IImageScaleTraversable and IImageScaleTraversable.providedBy(image): try: view = image.restrictedTraverse('@@images') view = view.__of__(image) return view.tag('image', scale=scale) except: return None elif IATImage.providedBy(image) and image.getImage() is not None: return image.tag(scale=scale) else: return None
def __new__(cls, context, request): parent = aq_parent(context) if IImageScaleTraversable.providedBy(parent): return ImageScaling(parent, request) return None