[Zope] DTML Method not working

Phil Harris phil.harris@zope.co.uk
Sat, 7 Oct 2000 21:38:33 +0100


Is the code you used in a DTML Method or a DTML Document?

Is it in a DTML Method being called from a DTML Document?

If the answer to either of these is 'yes' then it's doing as you ask!

The thing that gets most new zope users is that a DTML Document is itself a
container.  This means that anytime you use code similar to yours or when
using a <dtml-tree ...> it will probably return a blank, as the DTML
Dopcument has no children(?!?).

Solutions:

1.    Try moving the code into a DTML Method.
2.    Use a dtml-with around it.

The second one works most places but if in the root then it's slightly more
difficult as the top object is hard to reference (please someone tell me I'm
wrong here).

You could try something like:

<dtml-with expr="resolve_url(BASE0+'/')">
<ul>
<dtml-in expr="objectValues('Folder')">
 <li><a href="&dtml-absolute_url;"><dtml-var title_or_id></a><br></li>
</dtml-in>
</ul>
</dtml-with>

The resolve_url(BASE0+'/') should give you a reference to the top Zope
object (root).

hth

Phil
phil.harris@zweb.co.uk

----- Original Message -----
From: "Ronald L. Chichester" <complaw@hal-pc.org>
To: <zope@zope.org>
Sent: Sunday, October 08, 2000 8:58 PM
Subject: [Zope] DTML Method not working


> I took some code that was in the (work-in-progress) O'Riley book on
> Zope.  In that example, then had a DTML Method used for identifying
> folders and hyperlinking to them.  The code is as follows:
>
> <ul>
> <dtml-in expr="objectValues('Folder')">
>  <li><a href="&dtml-absolute_url;"><dtml-var title_or_id></a><br></li>
> </dtml-in>
> </ul>
>
> The problem is, it doesn't work.  I know the method is being invoked
> because there is some other text that is indeed being inserted.
> Moreover, there are sub-folders in the folder that calls the method.
>
> Does anyone know what the problem is?  Is it a permission issue.  The
> standard_html_header and _footer, show up just fine, along with logos
> and such.  The only part that isn't showing up is the stuff that was
> supposed to be generated by the <dtml-in> block.
>
> Any hints?
>
> Thanks in advance.
>
> Ron
>  ./.
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> 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 )