[Zope] tree plus/minus url
Ragnar Beer
rbeer@uni-goettingen.de
Thu, 3 Aug 2000 15:59:04 +0200
I found quite an easy solution for Zope 2.1.6:
In lib/python/TreeDisplay/TreeTag.py you have to replace the "old
code" with the "new code". (Blame me - I forgot to make a copy
beforehands which keeps me from using diff.)
The idea is to "export" the piece of code that puts together the url
to treeData['tree-item-clickurl'] so that you can access it with
<dtml-var tree-item-clickurl> within your tree-tag. I haven't checked
this for unwanted side effects. Perhaps someone more familiar with
the zope code could do that? For me it works fine!
Ragnar
Line 372:
####################################
# Mostly inline encode_seq for speed
s=compress(str(diff))
if len(s) > 57: s=encode_str(s)
else:
s=b2a_base64(s)[:-1]
l=find(s,'=')
if l >= 0: s=s[:l]
s=translate(s, tplus)
####################################
script=md['SCRIPT_NAME']
# old code
# if exp:
# treeData['tree-item-expanded']=1
# output('<A NAME="%s" HREF="%s?tree-c=%s#%s">'
# '<IMG SRC="%s/p_/mi" ALT="-" BORDER=0></A>' %
# (id, root_url, s, id, script))
# else:
# output('<A NAME="%s" HREF="%s?tree-e=%s#%s">'
# '<IMG SRC="%s/p_/pl" ALT="+" BORDER=0></A>' %
# (id, root_url, s, id, script))
# end of old code
# New code
if exp:
treeData['tree-item-clickurl']= '%s?tree-c=%s#%s' %
(root_url, s, id)
treeData['tree-item-expanded']=1
output('<A NAME="%s" HREF="%s">'
'<IMG SRC="%s/p_/mi" ALT="-" BORDER=0></A>' %
(id, treeData['tree-item-clickurl'], script))
else:
treeData['tree-item-clickurl']= '%s?tree-e=%s#%s' %
(root_url, s, id)
output('<A NAME="%s" HREF="%s">'
'<IMG SRC="%s/p_/pl" ALT="+" BORDER=0></A>' %
(id, treeData['tree-item-clickurl'], script))
# end of new code
output('</TD>\n')
else:
if level > 2: output(_td_colspan % level)
elif level > 0: output(_td_single * level)
output(_td_single)
output('\n')
>Ragnar Beer wrote:
>>
>> Howdy!
>>
>> I've been experimenting with trees for a while and discovered that
>> almost all innocent first time clickers were clicking on the text
>> _behind_ the plus and minus images instead on the images themselves.
>> So I decided to make the text a link with the same url as the image
>> has but I can't find the right variable. Where is that url stored?
>> Can anybody help?
>
>Your best bet is to look in the source for the tree tag and see how it's
>done there:
>/lib/python/TreeDisplay/TreeTag.py
>
>cheers,
>
>Chris
>
>PS: Please post back to the list if you find out how ;-)
>
>_______________________________________________
>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 )