Thanks. I actually solved the problem another way. Basically images need to be registered. So, in the product's __init__ method, I added: context.registerClass( Navigator.Navigator, constructors = Navigator.constructors, icon='www/nav.gif' ) registerIcon('redarrow.gif') registerIcon('spacer14x12.gif') where the registerIcon() method is local and defined def registerIcon(filename, idreplacer={}): # A helper function that takes an image filename (assumed # to live in a 'www' subdirectory of this package). It # creates an ImageFile instance and adds it as an attribute # of misc_.MyPackage of the zope application object (note # that misc_.MyPackage has already been created by the product # initialization machinery by the time registerIcon is called). objectid = filename for k,v in idreplacer.items(): objectid = objectid.replace(k,v) setattr(OFS.misc_.misc_.Navigator, objectid, App.ImageFile.ImageFile('www/%s' % filename, globals()) ) I found similar code in a number of products. This particular code came from the IssueTrackerProduct. The image, when all this is said and done, are referenced from the Product's dtml as, for example, <img src="misc_/Navigator/redarrow.gif" alt="=>"> On Fri, 14 Feb 2003, Ulla Theiss wrote:
I have solved this task in the following way:
1. The image is in ${PRODUCT_PATH}/images/first.gif
2. In the product-code:
class myProduct(....): first_icon = ImageFile('images' + sep + 'first.gif', globals())
3. In the DTML-Code <img src="first_icon" border="0" alt="First Page">
Of course, this works only for static images. For dynamically created ones, I have a problem, too.
I hope this may help you a little bit,
Dennis Allison schrieb:
I have a product which needs to reference some icons which are part of the product. Following the usual structure, the icons are www sub-directory of the product. The dtml that wants to reference the image is in the dtml sub-directory. What's the reference mechanism?
<img src="../www/image.png">
in the dtml code does not resolve to the image. Nor doe the equivalent <dtml-var ...> formulation. What should the reference be?