Rafael,

Estudando um pouco
mais o código de folder_summary_view, descobri que você não precisa fazer
nenhuma customização.  Logo na primeira dlinha de <tal:foldercontents>
há a definição de

contentFilter.  Pois bem, você pode passar, por meio dessa variável, um
dicionário com parâmetros
para customizar sua busca.

Para você verificar como isso é possível, crie um script python na raiz do
seu site com o seguinte
conteúdo:

request = container.REQUEST
request.set('contentFilter',{'sort_order':'descending'})
return context.folder_summary_view()

Mude depois para:
request.set('contentFilter',{'sort_order':'ascending'})

e o resultado será inverso.  Assim, basta configurar contentFilter da forma
que você quiser e depois
chamar folder_summary_view.  Simples, não?

Zénrique.

Em 28/05/07, Rafael Rocha <[EMAIL PROTECTED]> escreveu:

Obrigado pela ajuda Jose,

Segue meu codigo, as linhas alteradas ou adicionadas sao as que tem
comentario. Meu objetivo que nesse template ele exiba as materias mais
recentes primeiro. Estou tentando mudar no template folder_summary_view,
porque creio que se mexer no getFoldercontents posso melar outros lugares...


<tal:foldercontents define="contentFilter
contentFilter|request/contentFilter|nothing;
limit_display
limit_display|request/limit_display|nothing;
more_url
more_url|request/more_url|string:folder_contents;
contentsMethod
python:test(here.portal_type=='Topic', here.queryCatalog,
here.getFolderContents); # aqui tentei tambem
here.getFolderContents.reverse()
folderContents
folderContents|python:contentsMethod(contentFilter, batch=True); # aqui
tentei tambem contentsMethod(contentFilter, batch=True).reverse()
use_view_action
site_properties/typesUseViewActionInListings|python:();
over_limit python: limit_display and
len(folderContents) > limit_display;
folderContents python: (over_limit and folderContents[:limit_display]) or
folderContents;
folderContents python: floderContentents.reverse()   # tentei tambem
list.reverse(folderContents)
 #tentei tambem here.reverseList(folderContents)
batch folderContents">
<tal:listing condition="folderContents">


[]s
rafael


Em 28/05/07, José Henrique < [EMAIL PROTECTED]> escreveu:
>
> Quanto ao seu problema com reverse, envie
> o seu código para que a gente possa avaliar.
> Quanto a sua duvida a respeito do script reverseList, me parece que seu
> objetivo é simplesmente possibilitar a inversão do conteúdo de tuplas (que
> não permitem a utilização de reverse).
>
> Zénrique.
>
>
> Em 26/05/07, Rafael Rocha < [EMAIL PROTECTED]> escreveu:
> >
> > Pessaol,
> > pesquisando um pouco descobri que o Plone tem um script chamado
> > reverseList...
> > Primeira pergunta: Qual a necessidade desse script?
> > Segunda: porque ele usa o Mylist.reverse() e nao gera um attributte
> > error?
> > Tentei resolver meu problema usando esse script
> > dentro do define
> > folderContents python: here.reverseList(folderContents);
> >
> > Aí ele passa essa linha, mas da um erro na de baixo
> > batch folderContents
> > list indices must be integers...
> >
> > Onde estou escorregando?
> >
> > []s
> > rafael
> >
> > Em 26/05/07, Rafael Rocha < [EMAIL PROTECTED]> escreveu:
> > >
> > > Ola pessoal,
> > >
> > > Segui as instruções, porem ao tentar folderContents.reverse (), ou
> > > ainda list.reverse(folderContens) recebo um attribute error de que
> > > nao existe o atributo reverse, nem em FolderContents, nem em List... Meu
> > > Plone é versao 2.5, assim, acho que tenho uma versao razoavelmente
> > > nova do python... Alguem sabe o que pode ser?
> > > []s
> > > Rafa
> > >
> > > Em 23/05/07, Rafael Rocha < [EMAIL PROTECTED]> escreveu:
> > > >
> > > > Zenrique,
> > > >
> > > >   Valeu cara muito obrigado. Melhor que dar um peixe a um homem é
> > > > ensiná-lo a pescar...
> > > >   Realmente, explorando sempre chegamos lá, creio que é um mal
> > > > (pelo menos quem quer aprender) a preguiça que vem do é tão mais fácil
> > > > perguntar, hehe.
> > > > []s
> > > > Rafael
> > > >
> > > > Em 23/05/07, José Henrique < [EMAIL PROTECTED]> escreveu:
> > > > >
> > > > > Rafael,
> > > > >
> > > > > Se você olhar com atenção o conteúdo da tag <tal:foldercontents>
> > > > > e as tags posteriores você vai notar que:
> > > > >
> > > > > 1. O que é listado no page template é o conteúdo de
> > > > > folderContents:
> > > > > <div class="tileItem visualIEFloatFix vevent" tal:repeat="item
> > > > > folderContents">
> > > > > 2. folderContents é definido como:
> > > > > folderContents|python:contentsMethod(contentFilter, batch=True);
> > > > > ou seja:
> > > > > a) se ele já existir, então é ele mesmo,
> > > > > b) senão, será obtido de contentsMethod()
> > > > > 3. contentsMethod é definido como:
> > > > > python:test(here.portal_type=='Topic', here.queryCatalog,
> > > > > here.getFolderContents);
> > > > > 4. Mais um pouquinho de procura e você vai ver que queryCatalog
> > > > > e getFolderContents são dois scripts que se encontram em
> > > > > portal_skins/plone_scripts;
> > > > > 5. Indo um pouco mais a fundo, você vai notar que ambos os
> > > > > scripts retornam uma lista.
> > > > > 6.
> > > > > Para inverter a ordem de uma lista, basta utilizar o método reverse:
> > > > > folderContents.reverse(), por exemplo.
> > > > >
> > > > > Espero ter ajudado não só a solucionar seu problema, mas também
> > > > > mostrar que não é tão difícil assim descobrir como as coisas 
funcionam no
> > > > > Plone.
> > > > >
> > > > > Zénrique.
> > > > >
> > > > >
> > > > > Em 22/05/07, Rafael Rocha < [EMAIL PROTECTED]> escreveu:
> > > > > >
> > > > > >
> > > > > > Leonardo,
> > > > > > ainda nao consegui fazer isso funcionar... Sera que alguem tem
> > > > > > um exemplo de codigo?
> > > > > > []s
> > > > > > rafael
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> >
>


Responder a