Opa Elisandra,
> Estou implementando um campo com MasterSelectWidget, a minha dúvida é
> como faço para que o segundo campo só apareça se no primeiro campo o
> valor selecionado seja "diferente" de 'outro', o que faço no parametro
> 'hide_values'?
a princípio o MasterSelectWidget só aceitava as seguintes 'actions':
- value: para alterar o valor de outro(s) campo(s), conforme o valor
do campo atual;
- vocabulary: para alterar dinamicamente o vocabulário de outro(s)
campo(s), dependendo do valor do campo atual;
- hide: para esconder outro(s) campo(s), quando o campo atual contiver
um(ns) valor(es) específico(s);
- disable: mesma coisa do anterior, só que desativa o(s) campo(s)
ao invés de esconder ele(s);
> Só consegui que fizesse o contrário, que esconda quando o valor é
> "igual" a 'outro'.
Isso não dava para fazer, mas agora dá... ;-)
Basta usar a nova action 'show' que eu inclui[1], da mesma forma como
você faria para usar a action 'hide'.
> Aqui está o código dos meus campos:
>
> StringField(
> name='item',
> index=":schema",
> widget=MasterSelectWidget(
>label="Item",
>description="Informe o item de investimento",
>format="select",
>slave_fields=({'name': 'item_outro', 'action': 'hide',
> 'hide_values': ('outro',)},),
>label_msgid='OrcamentoInvestimentosUCS_label_item',
>description_msgid='OrcamentoInvestimentosUCS_help_item',
>i18n_domain='OrcamentoInvestimentosUCS',
> ),
> vocabulary=['1','2','outro']
> ),
>
> StringField(
> name='item_outro',
> widget=StringWidget(
> label="Descrição do Item",
> label_msgid='OrcamentoInvestimentosUCS_label_item_outro',
> i18n_domain='OrcamentoInvestimentosUCS',
> )
> ),
No exemplo acima, muda de 'hide' para 'show' que já vai funcionar
da forma como você esperava.
[1] Usar a versão 0.2.3, atualmente disponível apenas no SVN, em
http://svn.plone.org/svn/archetypes/MoreFieldsAndWidgets/MasterSelectWidget/trunk
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