Samu Mielonen wrote:
Easy, at least that's how I understand it (i.e. ObjectValues(X) looks through all the subfolders of type X??).
objectValues(X) returns all objects in the current object manager (ie, folder) of meta_type 'X'. 'X' can be a string or list of strings specifying multiple meta_types. Other similar methods are objectIds(X), which returns a list the of of sub-objects of meta_type X, and objectItems, which returns a list of (id, object) tuples.
There is no good documentation for objectValues anywhere in the DTML Guide (just 2 obscure examples and one reference in index).
You're right, there used to be some decent documentation in the broken help system, which is at the moment being re-engineered, want to write a short how-to on objectValues and it's siblings?
Now, to my problems:
1. I want to display only articles from year_x, month_x, day_x. Can I somehow only list articles from year_x/mont_x/day_x? How? I can't find any command nor reference how to do this via objectValues.
<dtml-with year_x> <dtml-with month_x> <dtml-with day_x> Here you are in the context of day_x, which is in the context of month_x, which is in the context of year_x, which is in the context of however you called this bit of DTML. Think of <dtml-with> as a tool to move around the object system and applying contexts. </dtml-with> </dtml-with> </dtml-with>
2. I have a method from KM|NetNews product called add.html and another one called approve.html (these are my modified copies of incoming.html and index.html respectively).
I want users with writer role to access add.html and add.html ONLY. I want users with editor role to access add.html and approve.html. Both of these methods are under the KMArticleStorage product folder
How do I do this? I can't find anywhere in the documentation ways to define permissions for a single dtml_method (call me thick, but I can't find it!).
On the security tab for your method, only give users with the writer role permission to 'View' it.
Also, trying to check the authenticated user with has_role only results in key_error every single time (works on one page, doesn't work on another. There is some peculiar namespace trickery going on here that I don't understand.).
So is it every single time or work on one page doesn't work on another? This paragraph is confusing. There is allways an AUTHENTICATED_USER object, if the user is not validated, the user object is 'Anonymous User'.
3. If I want to render visible objects that are inside objects (e.g. images that are inside particular folderish article objects), how do I do it?
(in the context of the folder containing the image) <dtml-var image> or <dtml-with image> <img src="<dtml-var absolute_url>"> </dtml-with>
I understand that I can iterate through all of the folder objects (e.g. images) and display their id, the actual image itself and then even give a form submit button to upload a file to replace that image.
But I can't figure out the DTML code to do this... I've tried a gazilliion different permutations (with, let, objectvalues, sequence-item, etc. tags)
<dtml-in "objectValues('Image')"> <dtml-var id> </dtml-in> -Michel