zope news writes:
I Tried, I really did, but I just did not get it. Looking at the code it just doesn't make sense to me. ... images for product ... misc_ = { 'MyPic' : Globals.ImageFile('www/MyPic.jpg',globals()) } ... <img src="<dtml-var SCRIPT_NAME>/misc_/MyClass/MyPic"> .....
Is this correct?? You must register your "misc_"!
Out of hand, I do not know how you do it. But you can find out by looking through the sources in the "App" folder. Search for "misc_".
If yes, why DOESN'T SCRIPT_NAME expand to anything when viewed ? "SCRIPT_NAME" is the name of the CGI script that started Zope, provided you use "pcgi" to start Zope (what you probably do not...).
When you do not connect Zope via "pcgi", "SCRIPT_NAME" is empty (as it should be). Using Zope with "pcgi" is old, "SCRIPT_NAME" is deprecated (as it does not play well with virtual hosting). The modern replacement is "BASE1".
What is the value that should go there? And why does misc_ appear before MyClass, I would have thought it goes the other way around? Usually, products install their "misc_" in a global "misc_" registry under their name. The URL is that of the registry ("misc_") followed by the product ("MyClass") followed by the key defined in the products "misc_". Apparently, your product does not register its "misc_".
Dieter