[Zope-CMF] CMF sorting objects help
Anton Hughes
Anton.Hughes@utas.edu.au
Fri, 1 Aug 2003 12:02:51 +1000
You're sorting it by date earliest to latest. Try 'desc' instead of 'asc' as
below:
sort_on python:(('ModificationDate', 'cmp', 'desc'),
('id', 'nocase', 'asc'));
Anton
-----Original Message-----
From: Eric Dunn [mailto:endunn@rocketmail.com]
Sent: Friday, 1 August 2003 11:55 AM
To: Anton Hughes
Cc: Zope-CMF@zope.org
Subject: RE: [Zope-CMF] CMF sorting objects help
Here is the latest code I tried to make work to sort
desc.
<div metal:define-macro="index_header">
<div id="DesktopDescription"
tal:content="here/Description">
Document Description goes here.
</div>
</div>
<div metal:define-macro="index_content">
<div tal:define="auth_filter nocall:
modules/ZTUtils/LazyFilter;
default_types python:( 'Document'
, 'Image'
, 'File'
, 'FAQ'
, 'News Item'
);
types types |
here/show_content_types | default_types;
raw_items python:
here.contentValues(
filter={'portal_type': types } );
sort_on
python:(('ModificationDate', 'cmp', 'asc'),
('id', 'nocase', 'asc'));
sorted_items
python:sequence.sort(raw_items,sort_on);
items python: auth_filter(
raw_items, skip='View' );
">
<div tal:condition="items">
<h4> Content </h4>
<ul>
<li tal:repeat="item items">
<a href="item_url" tal:attributes="href
item/absolute_url"><img
align="middle" border="0"
tal:attributes="src
string:${item/portal_url}/${item/getIcon};
alt string:${item/Type};
title string:${item/Type}"></a>
<a href="item_url" tal:attributes="href
item/absolute_url"
tal:content="item/Title"> Title </a>
<blockquote tal:condition="exists:
item/Description"
tal:content="item/Description">
Description <!--fmt="structured-text'-->
</blockquote>
</li>
</ul>
</div>
</div>
</div>
<div metal:define-macro="index_links">
<div tal:define="auth_filter nocall:
modules/ZTUtils/LazyFilter;
default_types python:( 'Document'
, 'Link'
, 'Favorite'
, 'Topic'
);
types types | here/show_link_types
| default_types;
raw_items python:
here.contentValues(
filter={
'portal_type': types } );
sort_on
python:(('ModificationDate', 'cmp', 'asc'),
('id', 'nocase', 'asc'));
sorted_items
python:sequence.sort(raw_items,sort_on);
items python: auth_filter(
raw_items, skip='View' );
">
<div tal:condition="items">
<h4> Related Resources </h4>
<ul>
<li tal:repeat="item items">
<a href="item_url" tal:attributes="href
item/absolute_url"><img
align="middle" border="0"
tal:attributes="src
string:${item/portal_url}/${item/getIcon};
alt string:${item/Type};
title string:${item/Type}"></a>
<a href="item_url" tal:attributes="href
item/absolute_url"
tal:content="item/Title"> Title </a>
<blockquote tal:condition="exists:
item/Description"
tal:content="item/Description">
Description <!--fmt="structured-text'-->
</blockquote>
</li>
</ul>
</div>
</div>
</div>
<div metal:define-macro="index_folders">
<div tal:define="auth_filter nocall:
modules/ZTUtils/LazyFilter;
default_types python:( 'Folder'
,
);
types types |
here/show_folder_types | default_types;
raw_items python:
here.contentValues(
filter={ 'portal_type':
types } );
sort_on
python:(('ModificationDate', 'cmp', 'asc'),
('id', 'nocase', 'asc'));
sorted_items
python:sequence.sort(raw_items,sort_on);
items python: auth_filter(
raw_items, skip='View' );
">
<div tal:condition="items">
<h4> Content </h4>
<ul>
<li tal:repeat="item items">
<a href="item_url" tal:attributes="href
item/absolute_url"><img
align="middle" border="0"
tal:attributes="src
string:${item/portal_url}/${item/getIcon};
alt string:${item/Type};
title string:${item/Type}"></a>
<a href="item_url" tal:attributes="href
item/absolute_url"
tal:content="item/TitleOrId"> Title </a>
<blockquote tal:condition="exists:
item/Description"
tal:content="item/Description">
Description <!--fmt="structured-text'-->
</blockquote>
</li>
</ul>
</div>
</div>
</div>
<div metal:define-macro="news_box">
<table class="NewsItems"
cellspacing="0"
cellpadding="0"
border="0"
width="100%">
<tbody tal:define="news python: here.portal_catalog(
meta_type='News Item'
,
sort_on='Date'
,
sort_order='reverse'
,
review_state='published'
);
Batch
python:modules['ZTUtils'].Batch;
global batch python:Batch(news, 10, 0,
orphan=1)">
<tr>
<td class="NewsBorder" width="1" rowspan="13"
bgcolor="#6699CC">
<img src="spacer.gif" alt=" " width="1" height="2"
border="0">
</td>
<td valign="top" class="NewsTitle" width="100%">
<b>News</b>
</td>
</tr>
<tr class="NewsItemRow" tal:condition="news"
tal:repeat="news batch">
<td valign="top" wrap>
<a href="" tal:attributes="href
python:news.getURL()"
tal:content="news/Title"></a><br>
<span tal:replace="news/Date">Date</span>
</td>
</tr>
<tr class="NewsItemRow"
tal:condition="python:not(news)">
<td valign="top">
<!-- News status here -->
No news posted at this time.
</td>
</tr>
<tr class="NewsItemRow">
<td>
<a href="recent_news">More...</a>
</td>
</tr>
</tbody>
</table>
</div>
--- Anton Hughes <Anton.Hughes@utas.edu.au> wrote:
> Hi Eric,
>
> As it happens, I'd just done the same thing myself
> recently. Here is the
> code from index_html_utils I used to sort first on
> id then on date:
>
> <div tal:define="auth_filter nocall:
> modules/ZTUtils/LazyFilter;
> default_types python:( 'Document'
> , 'Image'
> , 'File'
> , 'FAQ'
> );
> types types |
> here/show_content_types | default_types;
> raw_items python:
> here.contentValues(
>
> filter={'portal_type': types } );
> sort_on python:(('id', 'nocase', 'asc'),
> ('bobobase_modification_time', 'cmp', 'desc'));
> sorted_items python:sequence.sort(raw_items,
> sort_on)
> items python: auth_filter( sorted_items,
> skip='View'
> );">
>
> Hope that helps...
>
> Anton
>
> -----Original Message-----
> From: Eric Dunn [mailto:endunn@rocketmail.com]
> Sent: Friday, 1 August 2003 10:34 AM
> To: zope-cmf@zope.org
> Subject: [Zope-CMF] CMF sorting objects help
>
>
> Can anyone tell me how to sort the objects that are
> viewed on the first page of the CMF.
> I place "News Items" on the front page (as well as
> the
> News block). The "News" block on the right of the
> screen lists the News latest to earliest. I would
> like to sort items on the front page in the same
> manner. They are earliest to latest right now and I
> cannot find the code that controls the sorting.
> I located the
>
/ZOPE_INSTANCE/CMF/portal_skins/custom/index_html_utils
>
> I found it displayed the front page content but I
> cannot get the code correct that sorts in desc
> manner.
> Can anyone help.
> Thanks
>
> =====
> Eric N. Dunn
> other email: endunn@aol.com
>
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site
> design software
> http://sitebuilder.yahoo.com
>
> _______________________________________________
> Zope-CMF maillist - Zope-CMF@zope.org
> http://mail.zope.org/mailman/listinfo/zope-cmf
>
> See http://collector.zope.org/CMF for bug reports
> and feature requests
=====
Eric N. Dunn
other email: endunn@aol.com
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com