I have a requirement to create a SiteMap for my site.
My site is dynamically built from the Zope tree structure.
Folder and Sub Folders need to appear as a tree structure and need to be sorted by name and date.
I have viewed the examples in the Examples folder in ZMI and gotten a general Idea of how to get the files within a specific folder.
But I need to be able to go through the whole set of folders and sub Folders and create the SiteMap and not just for a single folder .
Is there some While- Do Loop which I can use to Loop through till I reach the Lowest rung in a Tree for each and every Folder and create a Site Map.

Basic CS. Q: How do you walk a tree? A: Recursion.


Try this Page Template. Name it 'recurse'::
<ul>
<li tal:repeat="item here/objectValues">
<span tal:content="item/getId" tal:omit-tag="">An object</span> :
<span tal:content="item/title" tal:omit-tag="">A title</span>
<span tal:condition="python:item.meta_type=='Folder'" tal:content="structure item/recurse">A Folder listing</span>
</li>
</ul>


The condition check is pretty primitive. Probably a better one would check for the presence of the objectValues method like

tal:define="folderish nocall:item/objectValues"
tal:condition="folderish | nothing"

This will construct a nested HTML unordered list of your tree from the place where you called it (from inside a valid HTML page.) You can of course tweak the display code.

There are also products that will create site maps. Search around.

Also Each of these folders has an index_html page template which can be linked from the SiteMap that is created.
Each of the index_html files has a number of anchor tags.
These Tags are for moving within the Page.
I need to be able to include these Tage as well in My SiteMap ...
CAN I GET THESE ANCHOR TAG LINKS ON EACH PAGE BY READING THROUGH THE CONTENT OF EACH OF THESE PAGE TEMPLATES?
IS THERE SOME OTHER WAY TO DO ALL THESE ???

You know that all-caps is considered yelling rather than empahsis, right? Generally not a good idea when asking for help.


Anyway, this is harder. You would have to render and then parse the HTML to get the tags. You could have a script that does that on leaves, or create (either offline or dynamically) children (by inheriting ObjectManager in a custom class) or a list property of the object representing the available anchor tags. You could also do this by hand. Maybe you could replace your documents with folders containing the various anchors as separate segments composited in the index_html. The segments could be easily found that way, although you'd have to make your tree-walker recognize them as leaves instead of containers.

--jcc

--
"My point and period will be throughly wrought,
Or well or ill, as this day's battle's fought."



_______________________________________________
Zope-Dev maillist - [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to