[Zope3-Users] Problem with @@absolute_url

Greg Baker gbaker at cs.mun.ca
Mon Apr 30 17:32:02 EDT 2007


On Monday 30 April 2007 17:46, Christophe Combelles wrote:
> You should probably try to set the __parent__ of the adapter to the
> __parent__ of the adapted object (or to the object itself)


Thanks for the advice, Christophe.  I tried both ways but neither worked for 
me.  Still getting the 'not enough context' error.  Guess I will try using 
Maciej's way.  Hopefully that will work for me.

Greg


>
> Christophe
>
> Greg Baker a écrit :
> > I have no idea how to get the absolute url of an adapted object, or even
> > if its possible.  If you can, please bear with me and I'll try to explain
> > myself clearly.
> >
> > Consider this example (simple object and adapter):
> >
> > class IStudent:
> >     """Simple student object"""
> >     studentNumber = StudentNumber(
> >         title = _("Student Number"),
> >         description = _("""The student's ID number."""),
> >         required = True)
> >
> > class IStudentPhoto:
> >     """Adapts Student to IImage"""
> >
> >
> > The unit tests for my class and adapter passes fine, so I know that doing
> > something like the following works...
> >
> >     photo = StudentPhoto(Student("123456789"))
> >
> >
> > My problem is that I want to display the photo in a browser but can't
> > figure out how.  I created a browser view helper in python, and it seems
> > to work for the most part:
> >
> > class StudentDetails:
> >     """Helper to return a student photo."""
> >     def getPhoto(self):
> >         student = self.context
> >         return StudentPhoto(student)
> >
> > In my page template, I can see that the IImage object is being created
> > correctly..
> >
> > <div tal:define="photo view/getPhoto">
> >     <span tal:content="photo">#</span>
> > </div>
> >
> > gives me <zope.app.file.image.Image object at 0xb75c6c6c>.  But to turn
> > this object into a URL so that I can put it in an <img> tag is beyond me.
> >  When I try to do an @@absolute_url on the photo object I get the error
> > saying there's not enough context.
> >
> > Am I going about this the wrong way?  Is there some other thing I need to
> > be doing in order for there to be enough context?
> >
> > Thanks for any help,
> > Greg
> > _______________________________________________
> > Zope3-users mailing list
> > Zope3-users at zope.org
> > http://mail.zope.org/mailman/listinfo/zope3-users
>
> _______________________________________________
> Zope3-users mailing list
> Zope3-users at zope.org
> http://mail.zope.org/mailman/listinfo/zope3-users


More information about the Zope3-users mailing list