[Zope] How to list objects across different containers in Zop
e's tree?
James Sintz
jsintz@ohiohistory.org
Wed, 17 Jan 2001 17:12:21 -0500
Right off the top of my head, since the sections are folder objects you
could simply dtml-in through the folders and then inbed another dtml-in.
Example (nothing fancy).
I did not include any date range stuff, but you can probably figure that out
on your own. It may be better to include a 'section' property in your zClass
and then just search your Catalog (see catalog example below for an UNTESTED
example).
<dtml-in "objectValues(['Folder'])">
<dtml-var name_or_id><br>
<!-- now use the folder id to move into the correct namespace -->
<dtml-with id>
<!-- news stories here -->
<dtml-in "objectValues(['newItems'])">
<dtml-var headline><br>
<dtml-var summary><br>
</dtml-in>
<br>
</dtml-with>
<br>
</dtml-in>
Catalog example
<dtml-in "objectValues(['Folder'])">
<dtml-var name_or_id><br>
<dtml-in "Catalog( { 'meta_type' : 'newsItem',
'section' : id,
'goLiveDate' : [ 2000/27/12 , 2001/05/01],
'goLiveDate_usage' : 'range:min:max' } )">
<dtml-var headline><br>
<dtml-var summary><br>
</dtml-in>
<br>
</dtml-in>
> -----Original Message-----
> From: Ausum [SMTP:ausum@mail.cosapidata.com.pe]
> Sent: Wednesday, January 17, 2001 3:18 PM
> To: James Sintz; zope@zope.org
> Subject: Re: [Zope] How to list objects across different containers
> in Zope's tree?
>
> Thanks for the tip, James. It seems a clever approach although I must
> keep it for the time being.
> Anyway if that were the case, the question could be this one:
>
> How can I list all the headlines and summaries for all the news appeared
> for sports, locals and politics sections (in example) from December
> 27th,2000 and January 5th, 2001 ?
>
> Greetings,
>
>
> Ausum
>
>
>
> James Sintz wrote:
> >
> > Ausum,
> >
> > It may be time to re-think your site structure. I have a news type site
> as
> > well and here is how I handle it (my way... not saying it is by any
> means
> > the best or right way).
> >
> > Instead of storing your news items in a series of folderish objects,
> maybe
> > create folders for each section and then create a news item ZClass with
> the
> > article date or goLiveDate as the ID.
> >
> > zopesite:8080/sports/2000.10.17/newsobjectid_htm
> >
> > Then do some dtml to pull out the ones you want on the main
> > "sport/thislist_htm" page.
> > Better yet use ZCatalog to search for the range of news items you want
> to
> > appear in the list.
> >
> > Hope this helps!!
> >
> > Jamey Sintz
> >
> >