Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] CRUD et Select/Option

Posted by Didou on 08/01/2007 15:47

Bonjour,

Je me penche sur l'utilisation d'un CRUD... Cependant, je ne vois nul part comment prendre en compte des <select><option>.... du formulaire que je souhaite créer....

Y a t'il une solution ?

Merci d'avance

Adeline


Adeline

  [Opened] Re: CRUD et Select/Option

Reply #1 Posted by turowbye on 08/01/2007 18:25

Je crois que se sera un plugin de template qui génèra les donnnées d'un <select><option>. De plus, je crois qu'il n'est pas terminé. Le jForms est encore en phase beta.

Bon voilà, pour la première fois je suis le premier à répondre à post. Auparavant j'étais plustôt .... timide. Faute de connaissances de Jelix oblige.

 

Windows 2000 - Apache 2.2.4 - PHP 5.2.2

  [Opened] Re: CRUD et Select/Option

Reply #2 Posted by Didou on 08/02/2007 08:48

Disons que je veux un formulaire qui prenne en compte que pour le champs type_carte on a le droit de choisir uniquement personnelle ou familiale donc le plus simple c'est qu'on choisisse dans une liste (d'où l'utilisation du select/option dans la création du formulaire)

C'est plus clair ?

Merci de votre réponse

Adeline


Adeline

  [Opened] Re: CRUD et Select/Option

Reply #3 Posted by Uriel C on 08/02/2007 09:02

Salut,

Je ne maitrise pas JForms (j'attends qu'il ne soit plus en beta pour l'explorer) mais en tous cas il existe des classes jFormsControlSelect et jFormsControlSelect1 d'apres la référence de l'API. Regarde de ce coté la.

  [Opened] Re: CRUD et Select/Option

Reply #4 Posted by Didou on 08/02/2007 12:37

J'ai regarder dans l'API mais apparemment les classes ne sont pas encore complètement implantée qund je regarde le fichier les contenant il n'y a rien de définit dans les classes...

Quelqu'un peut confirmer ? Y a t'il une solution en attendant ?

Merci

Adeline


Adeline

  [Opened] Re: CRUD et Select/Option

Reply #5 Posted by laurentj on 08/02/2007 13:08

Dans la beta2, il faut considérer qu'il n'y a rien pour gérer les select. Par contre, dans la nightly (future beta3), tu peux déclarer dans ton fichier jforms :

  <listbox ref="liste dao="foo" daomethod="bar" daolabelproperty="baz" daovalueproperty="plop">
     <label>Votre choix</label>
  </listbox>

ou encore

   <listbox ref="liste" size="8">
      <label>Votre choix</label>
      <item label="1aa" value="aaa" />
      <item labellocale="locb" value="bbb" />
      <item value="ccc"/>
   </listbox>

Ensuite, il suffit de passer l'objet jForms à ton template et d'utiliser les plugins de template adéquates (voir un exemple dans un template dans testapp).

Et ça te générera automatiquement une balise select, avec l'option sélectionnée automatiquement en fonction de la valeur courante de la propriété correspondante (ici la propriété 'liste').

note : les balises select et select1 dans jforms disparaissent au profit de radiobuttons, checkboxes, menulist (select avec un size=1 en html) et listbox (select avec un size > 1 en html).

  [Opened] Re: CRUD et Select/Option

Reply #6 Posted by turowbye on 08/02/2007 13:17

Ne tenez pas compte de ce message. laurentj à répondu plus rapidement que moi. Mais surtout plus précisément que moi.

En attendant.

Dans l'application testapp il y a un fichier jforms nommé sample.form.xml.

On y retrouve le code suivant:

   
  <listbox ref="home">
      <label>Vous habitez :</label>
      <item value="pa" label="Paris" />
      <item value="ma" label="Marseille" />
      <item value="ly" label="Lyon" />
      <item value="br" label="Brest" />
      <item value="li" label="Lille" />
      <item value="bo" label="Bordeaux" />
  </listbox>
  

Tu n'as que l'adapter à ta situation.

En ce qui a trait à <option>, il se peut qu'il ne soit pas encore implanté.


Windows 2000 - Apache 2.2.4 - PHP 5.2.2

  [Opened] Re: CRUD et Select/Option

Reply #7 Posted by Didou on 08/07/2007 15:45

J'ai essayer la méthode proposée. J'ai migré le site vers jelix nightly, j'ai définis des menulist puis j'ai essayer d'utiliser le plugin de templates mais j'obtiens cette erreur :

  Fatal error: Call to undefined method FormsDataContainer::getBuilder()     
  in  home.10.12/centresos/temp/gestion_csc/compiled/templates/modules/adhesion/adh_ins_editcarte_html.php on 
  line 36

La ligne 36 contient :

  $t->_privateVars['__builder'] =
  $t->_privateVars['__form']->getBuilder('html', 
  'adhesion~inscription_savecarte', array());

J'ai vérifié les Path de pluggins dans le fichier de configuration et j'ai rajouté lib:jelix/plugins et j'ai donc maintenant :

  pluginsPath = lib:jelix-plugins/,app:plugins/,lib:jelix/plugins

Et le message est cohérent car la méthode est dans la classe jFormsBuilderBase et non pas jFormsDataContainer d'après l'API...

Si vous avez une idée ;) Merci d'avance

Adeline


Adeline

  [Opened] Re: CRUD et Select/Option

Reply #8 Posted by Didou on 08/07/2007 16:17

Question subsidiaire :

Je pensais créer une classe métier pour regrouper tout mes traitement de formulaire. En regardant dans la forge j'ai trouver le projets CRUD qui utilise un controller pour cela.

Que choisir comme choix ? Quels sont les avantages de chacun ?

Merci

Adeline


Adeline

  [Opened] Re: CRUD et Select/Option

Reply #9 Posted by laurentj on 08/07/2007 16:35

l'objet que tu passe à {form} doit être un objet jFormsBase, et non jFormsDataContainer. Autrement dit, c'est l'objet renvoyé par jForms::xxx(). Regarde comment est fait le controlleur sampleform dans testapp.

Pour tes traitements de formulaires, tout depend ce que tu appelle "traitement". Si le traitement est simple, sans rêgle de gestion compliqué, c'est à dire que ça represente quelques lignes, tu peux tout mettre dans un controlleur. Mais si c'est pas le cas, c'est mieux en effet de faire les traitements et sauvegarde dans ta classe métier, à laquelle tu passeras les données contenus dans l'objet jform (ou alors tu passes un objet jForms, mais c'est moins propre dans la mesure où ta classe métier est assez liée alors au controleur, et tu ne pourrais pas la réutiliser dans d'autres circonstances.

Le CRUD en question, c'est un truc qui permet de développer une admin simpliste. Cela peut convenir pour certaines tables, mais quand il y a des rêgles de gestion complexe, il faut se faire son propre "CRUD".

 
Page
  1. CRUD et Select/Option