Re: [Zope] PropertyIds
On Mon, 19 Jun 2000, RC Compaan wrote: dtml-call "REQUEST.set('tmp', _.getitem(_['tid']))" // tmp is a document with an id equal to the cookie 1. Isn't it enough just to write _.getitem(tid)? 2. A shot in the dark: tmp is not a document, but its rendering. Try getitem(tid, 0)... Oleg.(All opinions are mine and not of my employer) Oleg Broytmann Foundation for Effective Policies [EMAIL PROTECTED] Programmers don't die, they just GOSUB without RETURN. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] PropertyIds
I have a very simple documentclass in very simple structure in method that should return the properties of the document: dtml-call "REQUEST.set('tid', REQUEST.cookies['careermanid'])" dtml-with RESULTS // RESULTS is a ZClass Object Manager dtml-call "REQUEST.set('tmp', _.getitem(_['tid']))" // tmp is a document with an id equal to the cookie dtml-return "tmp.propertyIds" this line should read: dtml-var "tmp.propertyIds()" Two things going wrong: 1. the dtml-return tag is for DTML Methods that should just return something. You want dtml-var. 2. you call propertyIds in an expression (the line is shorthand for dtml-var expr="tmp.propertyIds()" - in that case you have to call it as a function. /dtml-with During the application i add properties to the document and want to display them with the above method. The Property ids does not get shown though. I've tried: dtml-with tmp dtml-var propertyIds /dtml-with this should get you a list, like ['title', 'prop1, ...] and also: dtml-in "tmp.propertyIds" dtml-return sequence-item /dtml-with this doesn't work for reasons outlined above. Rik ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] PropertyIds
Thanks Rik it works. I've noticed in some cases that one puts empty brackets at the end of certain zope object methods. Is that there for methods that can take parameters? Roché -Original Message- From: Rik Hoekstra [mailto:[EMAIL PROTECTED]] Sent: 19 June 2000 12:54 To: RC Compaan Cc: Zope Subject: Re: [Zope] PropertyIds I have a very simple documentclass in very simple structure in method that should return the properties of the document: dtml-call "REQUEST.set('tid', REQUEST.cookies['careermanid'])" dtml-with RESULTS // RESULTS is a ZClass Object Manager dtml-call "REQUEST.set('tmp', _.getitem(_['tid']))" // tmp is a document with an id equal to the cookie dtml-return "tmp.propertyIds" this line should read: dtml-var "tmp.propertyIds()" Two things going wrong: 1. the dtml-return tag is for DTML Methods that should just return something. You want dtml-var. 2. you call propertyIds in an expression (the line is shorthand for dtml-var expr="tmp.propertyIds()" - in that case you have to call it as a function. /dtml-with During the application i add properties to the document and want to display them with the above method. The Property ids does not get shown though. I've tried: dtml-with tmp dtml-var propertyIds /dtml-with this should get you a list, like ['title', 'prop1, ...] and also: dtml-in "tmp.propertyIds" dtml-return sequence-item /dtml-with this doesn't work for reasons outlined above. Rik ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] PropertyIds
Thanks Rik it works. I've noticed in some cases that one puts empty brackets at the end of certain zope object methods. Is that there for methods that can take parameters? [rh]Um, not quite, it has to do with the way of calling the object methods in question. DTML has two ways of calling: by name and through expressions. 1. The 'normal' Zope way of writing things is dtml-var objectValues. This is shorthand for dtml-var name="objectValues". 2. The other way is dtml-var "objectValues". This is shorthand for dtml-var expr="objectValues". Everything inside the expression is treated as a python expression. If you call it without the brackets, you're just referencing the method. If you try that in a DTML Method and look in the source of the diplayed document you'll see something like Python Method object at 13fcbf0. If you want to _call_ the method, you'll have to add the brackets (with or without arguments). Hope this is clear. Rik ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] PropertyIds
Very clear, thanks. Really appreciated. Well i guess the topic was never about propertyids, but i can only tell that now. Still working with properties i find the following trouble. dtml-var "MyDoc.propertyItems()" returns a list of key-value pairs [('Key1','Value1'},('Key2','Value2')] to access the values of each key sequentially i tried: dtml-in "MyDoc.propertyItems()" dtml-let s="_['sequence-item']" key=s[:1] value=[1:] dtml-var key:dtml-var valuebr /dtml-in But this just returns "k" and "ey" resulting in a slice of the keyname. Roché Thanks Rik it works. I've noticed in some cases that one puts empty brackets at the end of certain zope object methods. Is that there for methods that can take parameters? [rh]Um, not quite, it has to do with the way of calling the object methods in question. DTML has two ways of calling: by name and through expressions. 1. The 'normal' Zope way of writing things is dtml-var objectValues. This is shorthand for dtml-var name="objectValues". 2. The other way is dtml-var "objectValues". This is shorthand for dtml-var expr="objectValues". Everything inside the expression is treated as a python expression. If you call it without the brackets, you're just referencing the method. If you try that in a DTML Method and look in the source of the diplayed document you'll see something like Python Method object at 13fcbf0. If you want to _call_ the method, you'll have to add the brackets (with or without arguments). Hope this is clear. Rik ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )