[zope-pt] Re: ordenar objetos dentro de um Folder
Opa Walter, > >>> import transaction > >>> from AccessControl.SecurityManagement import newSecurityManager > >>> t = transaction.get() > >>> portal = app.cidades > >>> admin= app.acl_users.getUser('admin').__of__(app.acl_users) > >>> newSecurityManager(None, admin) > >>> portal['ministerio-das-cidades']['destaques'].getSortAuto() > True > >>> > portal['ministerio-das-cidades']['destaques'].setDefaultSorting('Title',True) > >>> t.commit() > > Mas ao acessar a pasta, continua a ordem B,C,A pelo que eu percebi, aparentemente em algum lugar do Plone está faltando uma chamada ao método autoOrderItems: http://dev.plone.org/collective/browser/ATContentTypes/trunk/lib/autosort.py#L113 E mesmo se você chamar manualmente ele dentro do zopectl debug, a pasta ainda não ficará ordenada, pois esse método não está atualizando o cátalogo, você teria que fazer isso também... Resumindo: aparentemente ninguém usou esse recurso até hoje... :-) Eu diria que para isso funcionar como o esperado, ao adicionar novos items na pasta o autoOrderItems deveria ser chamado, e ele deveria atualizar o catálogo. Pesquisando um pouco achei esse ticket: http://dev.plone.org/plone/ticket/5262 É algo relativamente simples de ser feito... :-) -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
Re: [zope-pt] Re: ordenar objetos dentro de um Folder
Isso é apenas um passo.. quero ordenar pelo atributo data_noticia (temos um tipo de Noticia que estende o News padrão) []'s - Walter On Jan 11, 2008 2:54 PM, Walter Cruz <[EMAIL PROTECTED]> wrote: > cidades é o nome do portal > > Dentro da pasta destaques, tenho tres noticias.. , > BB e CC > > a ordem que eu coloquei na interface do Plone é: BCA, que é como mostra. > > Dentro do zopectl debug: > > >>> import transaction > >>> from AccessControl.SecurityManagement import newSecurityManager > >>> t = transaction.get() > >>> portal = app.cidades > >>> admin= app.acl_users.getUser('admin').__of__(app.acl_users) > >>> newSecurityManager(None, admin) > >>> portal['ministerio-das-cidades']['destaques'].getSortAuto() > True > >>> portal['ministerio-das-cidades']['destaques'].setDefaultSorting('Title',True) > >>> t.commit() > > > Mas ao acessar a pasta, continua a ordem B,C,A > > []'s > - Walter >
Re: [zope-pt] Re: ordenar objetos dentro de um Folder
cidades é o nome do portal Dentro da pasta destaques, tenho tres noticias.. , BB e CC a ordem que eu coloquei na interface do Plone é: BCA, que é como mostra. Dentro do zopectl debug: >>> import transaction >>> from AccessControl.SecurityManagement import newSecurityManager >>> t = transaction.get() >>> portal = app.cidades >>> admin= app.acl_users.getUser('admin').__of__(app.acl_users) >>> newSecurityManager(None, admin) >>> portal['ministerio-das-cidades']['destaques'].getSortAuto() True >>> portal['ministerio-das-cidades']['destaques'].setDefaultSorting('Title',True) >>> t.commit() Mas ao acessar a pasta, continua a ordem B,C,A []'s - Walter
[zope-pt] Re: ordenar objetos dentro de um Folder
Opa Walter, > Segui o procedimento: zopectl debug > > lá dentro, alkgo do tipo: pasta.setDefaultSorting('atributo') > > Mas não é ordenado ainda na visualização. > > Precisa reindexar ou algo a mais? 3 perguntas: - qual o nome do atributo que passaste para o setDefaultSorting? - verificaste com o pasta.getSortAuto() para ver se o autosort está ativo (e caso não estiver: pasta.setSortAuto(True)) - por acaso não esqueceste de comitar a transação pelo zopectl debug (import transaction; transaction.commit())? :-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
Re: [zope-pt] Re: ordenar objetos dentro de um Folder
Valeu Dornéles e Wesley! O conteúdo é um Folder padrão do plone mesmo. Segui o procedimento: zopectl debug lá dentro, alkgo do tipo: pasta.setDefaultSorting('atributo') Mas não é ordenado ainda na visualização. Precisa reindexar ou algo a mais? []'s - Walter 2008/1/11 Dorneles Treméa <[EMAIL PROTECTED]>: > > > > > > > Opa Walter, > > > > > Há uns meses atrás, eu migrei as noticias de um mambo para o plone. > > > > Ontem, migrei o resto das notícias. > > > > Porém, a ordenação delas ficou errada dentro da pasta. > > > > Dá pra arrastar e soltar, mas isso é contraproducente. > > > > Tem alguma API do zope pra reordenar o conteúdo da pasta, baseado nos > > atributos dos objetos dentro dela? > > tem sim, desde que implemente a interface IAutoSortSupport, que > é o que o Folder padrão do Plone faz. Confere a API da coisa: > > > http://dev.plone.org/collective/browser/ATContentTypes/trunk/lib/autosort.py#L41 > > Se quiseres ordenar manualmente, mas por código, confere: > > > http://dev.plone.org/archetypes/browser/Archetypes/branches/1.5/interfaces/_orderedfolder.py#L36 > > HTH, > > -- > > Dorneles Treméa > X3ng Web Technology > http://nosleepforyou.blogspot.com > >
[zope-pt] Re: ordenar objetos dentro de um Folder
Opa Walter, > Há uns meses atrás, eu migrei as noticias de um mambo para o plone. > > Ontem, migrei o resto das notícias. > > Porém, a ordenação delas ficou errada dentro da pasta. > > Dá pra arrastar e soltar, mas isso é contraproducente. > > Tem alguma API do zope pra reordenar o conteúdo da pasta, baseado nos > atributos dos objetos dentro dela? tem sim, desde que implemente a interface IAutoSortSupport, que é o que o Folder padrão do Plone faz. Confere a API da coisa: http://dev.plone.org/collective/browser/ATContentTypes/trunk/lib/autosort.py#L41 Se quiseres ordenar manualmente, mas por código, confere: http://dev.plone.org/archetypes/browser/Archetypes/branches/1.5/interfaces/_orderedfolder.py#L36 HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com