At 02:28 PM 1/6/2003 +0000, you wrote:
| OdesÃlatel: Martin Gebert <Murphy@members.netsolution-net.de> | > <dtml-let lang="REQUEST.get('HTTP_ACCEPT_LANGUAGE')"> | > <dtml-in expr="context.objectsInTheFolder"> | > <dtml-if expr="&dtml-id==&dtml-lang"> | > <dtml-let approved="&dtml-lang"> | > <dtml-else> | > <dtml-let approved="en-us"> | > </dtml-if> | > </dtml-in> | > </dtml-let> | | First of all, terminate all &dtml entities by a semicolon. | | Second, dtml-let needs a closing tag. This tag can't be outside of the | DTML hierarchy the opening tag is in, which means that if you define a | variable inside of a dtml-if, you have to close it inside, too, and the | value is lost for further use. Shortly: this won't work, try another way. | | Third, IMHO it doesn't make sense to extract values from variables | inside a Python expression per DTML entities, try "id == lang" in line | 3, and correct line 4 accordingly (your DTML namespace will be correctly | looked up inside the expressions, you don't need the &dtml-...; part). | | Point four: would it be possible that this could be better done in a script?
DTML:
<dtml-let lang="REQUEST.get('HTTP_ACCEPT_LANGUAGE')"> <dtml-in expr="context.objectsInTheFolder"> <dtml-if expr="&dtml-id==&dtml-lang"> <dtml-call "REQUEST.set('approved', ['lang'])"> <dtml-else> <dtml-call "REQUEST.set('approved', 'en-us')"> </dtml-if> </dtml-in> </dtml-let>
Well, not quite. Lines 2 & 3: <dtml-in expr="context.objectValues"> <dtml-if expr="&dtml-objectValue;==&dtml-lang;"> Thanks, though! beno