--- Em zope-pt@yahoogrupos.com.br, "danilo_horta" <[EMAIL PROTECTED]>
escreveu
>
>      Olá,
> 
>   Quero mostrar sempre os objetos filhos de certas pastas na portlet
> de navegação. Por ex.: tenho as pastas Notícias, Mestrado e Doutorado
> e quero que os objetos filhos de Mestrado e Doutorado estejam sempre
> visíveis na portlet de navegação. (Não é exatamente isso, mas fica
> fácil de entender o que quero com essa explicação.)
> 
>   Eu pensei em criar uma property (do tipo boolean) para os objetos
> Mestrado e Doutorado de forma que, dentro do template
> portlet_navtree_macro.pt, eu possa recuperar a propriedade e criar o
> efeito desejado.
> 
>   O problema é que não sei como pegar o objeto (referência do objeto)
> dentro desse template e, portanto, muito menos a sua propriedade.
> 
>   Como faço?
> 
>   Os seguintes dados de cada objeto do navtree eu tenho:
> 
> {'Title':context.pretty_title_or_id(item),
>  'currentItem':currentItem,
>  'absolute_url': item_url,
>  'getURL':item_url,
>  'path': path,
>  'icon':item.getIcon,
>  'creation_date': item.CreationDate,
>  'portal_type': item.portal_type,
>  'review_state': item.review_state,
>  'Description':item.Description,
>  'show_children':item.portal_type not in parentTypesNQ,
>  'children':[],
>  'no_display': no_display}
> 
>   Obrigado.
>

  Bom, consegui o primeiro passo. Criei o seguinte script
getPropertyFromObjectPath(path, property, default=None)

  portal = context.portal_url.getPortalObject()
  obj = portal.restrictedTraverse(path)

  propv = obj.getProperty(property, default)

  return propv

  Assim consigo pegar a propriedade boolean que eu mesmo crio nos
folders chamada navtree_always_show_children. O problema agora é que a
estrutura citada acima ({'Title':context.pretty...}) não contém os
filhos dos nós (folders) atuais,
a menos que você esteja _dentro_ do nó.

  Tem como eu usar o método createNavTree() do plone_utils de maneira
que eu pegue os filhos de certos folders? acho que uma maneira de
fazer isso seria passando o contexto do folder que irá mostrar seus
filhos no parâmetro do createNavTree(). Mas como eu pego o contexto de
um dado folder?

  Obrigado.





Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a