Accueil » Zope » Forum Zope » Forum Général Zope » Encore moi et mon produit....

 • Encore moi et mon produit....

Document Actions
Réponses: 6   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

 • Encore moi et mon produit....

Posté par newbees le 02/04/2008 13:13
Bonjour,
Je voudrais savoir si l'on peut influer dynamiquement le contenu d'un formulaire.
Je m'explique
Dans mon produit je voudrais faire en sorte que les champs en aval dépende de ceux en amont.
Par Expemple
Si dans 'Application' j'ai fait le choix 'A', que mon champs 'Environnement' me propose ('A1','A2','A3'...) et ainsi de suite.
Merci pour votre aide .

mon_schema = MyBaseSchema + Schema((
StringField('Application',searchable=1,required=1,default='1',vocabulary=APPLI_GROUPS,widget=SelectionWidget(format='select'),),
StringField('Environnement',searchable=1,required=1,default='1',vocabulary=ENV_GROUPS,widget=MultiSelectionWidget(format='select'),),
  •  • Re: Encore moi et mon produit....

    Posté par batmeh le 03/04/2008 14:35
    tu peux utiliser ce produit :
    http://plone.org/products/masterselectwidget
  •  • Re: Encore moi et mon produit....

    Posté par newbees le 04/04/2008 11:07
    Merci beaucoup pour ce produit.
    Il fait exactement ce que je voulais faire.
    J'ai juste une remarque, quand je modifie mon objet, il me réinitialise tous les champs, ais-je manqué un paramètre ???
  •  • Re: Encore moi et mon produit....

    Posté par batmeh le 04/04/2008 16:43
    chez moi ça marche bien. peux-tu poster le schéma archetype que tu utilises ?
  •  • Re: Encore moi et mon produit....

    Posté par newbees le 06/04/2008 19:53
    Merci pour ta réponse.
    Donc voici le code que j'ai:
    Le schema
    """""""""""""""""""""""""
    action_schema = MyBaseSchema + Schema((
    StringField('Application',searchable=1,required=1,default='1',vocabulary=APPLI_GROUPS,
    widget=MasterSelectWidget(slave_fields = ({'name':'Types','action': 'vocabulary',
    'vocab_method': 'getTypesVocab','control_param': 'master'},)),),
    StringField('Types',searchable=1,required=1,default='1',
    widget=MasterSelectWidget(slave_fields = ({'name':'Reference','action': 'vocabulary',
    'vocab_method': 'getReferenceVocab','control_param': 'master'},)),),
    etc....
    """"""""""""""""""""""""""""""

    Ma fonction getTypesVocab
    """"""""""""""""""""
    security = ClassSecurityInfo()
    security.declarePublic('getTypesVocab')
    def getTypesVocab(self, master):
    if (master in ('1','5','6')): vocab = EPA_TYPES_GROUPS
    if (master in ('2')): vocab = S_TYPES_GROUPS
    if (master in ('3')): vocab = H_TYPES_GROUPS
    if (master in ('4')): vocab = D_TYPES_GROUPS
    return vocab
    """"""""""""""""""""""""""


    Cela fonction bien a l'édition initiale de mon objet, par contre lorsque je l'édit pour modifcaation, les champs ce réinitialisent.
    J'ai du rater quelque chose
    Merci pour ton aide
  •  • Re: Encore moi et mon produit....

    Posté par batmeh le 08/04/2008 11:34
    ton schéma a l'air ok.
    A mon avis le plus simple est de contacter les développeurs du produit.
  •  • Re: Encore moi et mon produit....

    Posté par newbees le 08/04/2008 19:42
    Merci pour ton aide,
    tu pourrais me montrer ton code que j'ai un exemple qui fonctionne ?
    Voici mon mail ppkdev@gmail.com
    Merci encore