Ah... I misread your requirements. I think that may have been because what you're trying to do is use Zope like it's some other kind of system... a web server, perhaps. You're not working with files here, but methods. Here's how I'd recommend thinking about this... You want to have one content *method* and several content sources. The content method will be located in the root. The sources will be located in each folder you want to have one. Ex: / (root object) content.html (your method) /folder1 content_src /folder2 content_src /folder2a content_src /folder3 /folder4 A URL of the form: http://myserver/folder2/folder2a/content.html will have the effect of calling the content.html *method* in the context of folder2a. All you have to do, then, is check if the folder has a content_src object & if it doesn't, you provide some default value instead. Your content.html method could be as simple as: <dtml-if "'content_src' in objectIds()"> <dtml-var content_src> <dtml-else> There is no content_src object in this folder </dtml-if> This should fit the bill just fine. HTH, Dylan On Wed, 2003-07-09 at 06:03, Phil Bradbury wrote:
An interesting way of proceeding... however, if a subfolder has no content.html file it will call the next one up in the hierachy (the parent folder) rather than the one at root level - and as such will negate the effect of placing the method at root. It would work for a small site with not a deep hierachy I guess, but not for what we need it for.
The concept is not too radical - all I want to do is to parse a content.html file in the local folder (if one exists) and to replace it with the content of no_content.html if it doesn't. The no_content.html file will ultimately just be a sort of aide-memoire saying 'you have no "content.html" file in this folder' rather than just parsing one higher up which will show non-relevant information for the folder.
Hope this makes a bit of sense!
Phil
-----Original Message----- From: Dylan Reinhardt [mailto:zope@dylanreinhardt.com] Sent: 09 July 2003 13:22 To: phil.bradbury@man.ac.uk Cc: zope@zope.org Subject: Re: [Zope] Testing for and/or avoiding acquisition
In the case you've described, I would work *with* acquisition, rather than avoid it or thwart it.
Put a method in your root called 'content.html' and make it do whatever you wanted done by your 'no-content.html' object. Then proceed to place other 'content.html' objects where you want them to apply.
If there is no other content.html available, the one in the root will be called... and whatever you want done in that case will be done.
HTH,
Dylan
On Wed, 2003-07-09 at 01:37, Phil Bradbury wrote:
Hello.
Probably a simple problem but one I can't seem to solve.
I have a site with many folders and subfolders, no problem there. What I want to do is to use a file called 'content.html' to be parsed in each folder but that if there is no such file IN THAT FOLDER it uses a no-content.html' file acquired from 'root' level.
Is it possible to check ONLY the container folder for the existence of the required 'content.html' file and if it does not exist to use the 'no-content.html' file from above? If so, how is it done?
I'm using TAL rather than DTML and my brain is hurting from trying to sort this out!!
I have RTFM but still can't seem to figure out the syntax. Help would be much appreciated!
Thanks,
Phil
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )