Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget
Grande Dorneles, Funcionou como esperado. Muito Obrigado! Fabiano Marcon Dorneles Treméa escreveu: Oi Marcon, se não me falha a memória dá pra fazer da seguinte forma: condition=python:template.getId() == 'base_view' and here.umMetodo() Não é algo muito elegante, mas acredito que deu para pegar a idéia. Tentei fazer desta forma mas retorna um NameError dizendo que template não é definido. pois é, falhou a memória... :-/ Dando uma sapeada nos templates que chamam o testCondition, deu pra perceber que a chamada é feita usando: field.widget.testCondition(here, portal, template) Porém, na definição do testCondition temos: def testCondition(self, folder, portal, object): Resumo da ópera, quando usares 'object' estarás se referenciando ao 'template' (duh!). Testa algo como: condition=python:object.getId() == 'base_view'... HTH, -- Dorneles Treméa X3ng Web Technology 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
Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget
Oi Marcon, se não me falha a memória dá pra fazer da seguinte forma: condition=python:template.getId() == 'base_view' and here.umMetodo() Não é algo muito elegante, mas acredito que deu para pegar a idéia. Tentei fazer desta forma mas retorna um NameError dizendo que template não é definido. pois é, falhou a memória... :-/ Dando uma sapeada nos templates que chamam o testCondition, deu pra perceber que a chamada é feita usando: field.widget.testCondition(here, portal, template) Porém, na definição do testCondition temos: def testCondition(self, folder, portal, object): Resumo da ópera, quando usares 'object' estarás se referenciando ao 'template' (duh!). Testa algo como: condition=python:object.getId() == 'base_view'... HTH, -- Dorneles Treméa X3ng Web Technology 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
Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget
Oi Dorneles, acredito que você consiga o mesmo resultado usando 'condition=... O example4 do produto da palestra[1] da PyConBrasil mostra como usar isso. O widget é renderizado apenas quando a expressão for verdadeira. O problema é que preciso esconder o widget somente na visualização, na edição ele deve aparecer. A não ser que exista uma forma de verificar em qual view o objeto esteja aparecendo, daí poderia testar isso e não mostrar se ele está sendo mostrado pela base_view. Existe como testar a view que ele está sendo renderizado? Obrigado Fabiano Marcon 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
Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget
Marcon, O example4 do produto da palestra[1] da PyConBrasil mostra como usar isso. O widget é renderizado apenas quando a expressão for verdadeira. O problema é que preciso esconder o widget somente na visualização, na edição ele deve aparecer. A não ser que exista uma forma de verificar em qual view o objeto esteja aparecendo, daí poderia testar isso e não mostrar se ele está sendo mostrado pela base_view. Existe como testar a view que ele está sendo renderizado? se não me falha a memória dá pra fazer da seguinte forma: condition=python:template.getId() == 'base_view' and here.umMetodo() Não é algo muito elegante, mas acredito que deu para pegar a idéia. -- Dorneles Treméa X3ng Web Technology 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
Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget
Opa Marcon, Preciso variar a visibilidade de um widget do archetypes e ainda não encontrei como fazer isso. O que preciso fazer é que no valor do widget 'visible' ao invés de colocar um dicionário fixo como {'edit':visible,'view':'invisible'}eu coloque uma expressão que retorna um dicionário. Esta expressão irá testar uma condição e conforme esta condição irá retornar: {'edit':visible,'view':_'invisible'_} ou {'edit':visible,'view':_'visible'_} acredito que você consiga o mesmo resultado usando 'condition=... O example4 do produto da palestra[1] da PyConBrasil mostra como usar isso. O widget é renderizado apenas quando a expressão for verdadeira. Testa aí. [1] http://pyconbrasil.com.br/downloads/apresentacoes/archetypes-o-bagulho-e-bom -- Dorneles Treméa X3ng Web Technology 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