Comment afficher les données des formes gravitaires dans mon modèle?
-
-
http://www.gravityhelp.com/documentation/page/Developer_Docshttp://www.gravityhelp.com/documentation/page/Developer_Docs
- 0
- 2013-01-23
- GhostToast
-
@GhostToast Croyez-moi,j'ai complètementpassé aupeigne fin les documentset iln'y a aucuneinformation sur lafaçon d'yparvenir.@GhostToast Believe me I combed the docs completely and there isn't any information on how to achieve this.
- 2
- 2013-01-24
- hitautodestruct
-
Note dufutur: voici unplugin quiestexplicitementpour afficher les données Gravity Forms sur lefront-end: https://gravityview.co/Note from the future: here's a plugin that is explicitly for displaying Gravity Forms data on the front-end: https://gravityview.co/
- 1
- 2014-08-05
- Dalton Rooney
-
Jeparie que sije posais cette question sur SO,ilsme diraient de laposterici :-) Quelque chose qui s'est déjàproduit avec une autre question.I bet that if I posted this question on SO they would tell me to post it here :-) Something that has already happened with another question..
- 2
- 2017-02-26
- hitautodestruct
-
3 réponses
- votes
-
- 2013-01-24
Vouspouvez consulter la documentation,mais vousfinirezprobablementpar lire la vraie documentation: le code source.
Si vous lefaites,vous constaterez que:
-
GFFormsModel::get_leads($form_id)
renvoie une liste d'entréespour unformulaire (peut-être que vous le savez déjà),où chaque élément dutableauest lui-même untableau,un " Objet d'entrée " -
GFFormsModel::get_form_meta($form_id)
renvoie une liste deméta-éléments de champ (c'est-à-dire décrit lenom,letype,les règles,etc.) dans leformulaire,où chaque élément dutableauest un "< a href="http://www.gravityhelp.com/documentation/page/Fields"> Objet de champ "
Unefois que vous avez un objet Entry,vouspouvez accéder aux champs sousforme d'éléments,parnuméro de champ. Si vous avezbesoin detrouver un champparnom oupartype,vous devezparcourir la liste des champs duformulairepour obtenir une correspondance,puis accéder au champ de l'entréepar ID de champ.
NB:ilestpréférable de déterminer letype d'un champen passant leméta-élément du champ à
GFFormsModel::get_input_type($field)
Edit:notez également que seuls les 200premiers caractères de chaque champ sont renvoyés dans l'objet Entry. Si vous avez des champs qui stockentplus d'informations,vous devrez les demander,parexempleen appelant
GFFormsModel::get_field_value_long($lead, $field_number, $form)
.You can look at the docs, but you'll probably end up reading the real documentation: the source code.
If you do, you'll find that:
GFFormsModel::get_leads($form_id)
returns a list of entries for a form (maybe you know that one already), where each item in the array is itself an array, an "Entry object"GFFormsModel::get_form_meta($form_id)
returns a list of field meta elements (i.e. describes name, type, rules etc.) in the form, where each item in the array is a "Field object"
Once you have an Entry object, you can access the fields as elements, by field number. If you need to find a field by name or type, you need to iterate over the list of fields in the form to get a match, and then access the entry's field by field ID.
NB: determining a field's type is best done by passing the field's meta element to
GFFormsModel::get_input_type($field)
Edit: note also that only the first 200 characters of each field are returned in the Entry object. If you have fields that store more information, you'll need to ask for it, e.g. by calling
GFFormsModel::get_field_value_long($lead, $field_number, $form)
.-
Pourinfo,un administrateur de Gravity Forms a égalementpublié cetextrait de code abrégé http://pastebin.com/kHpaHQvi.FYI, A Gravity Forms admin posted this snippet for a shortcode http://pastebin.com/kHpaHQvi as well.
- 1
- 2013-01-29
- hitautodestruct
-
- 2013-05-18
Merci à webawarepour sa réponse.
Voici quelques copies/pâtespourtous ceux qui recherchent un démarrage rapide.Celaprend un ID d'entréeet récupère leprospectet leformulaire àpartir de celui-ci.Dans ce cas,j'utilise l'URLpourtransmettre la valeur.parexemple.somedomain.com?entry=123.
<?php $lead_id = $_GET['entry']; $lead = RGFormsModel::get_lead( $lead_id ); $form = GFFormsModel::get_form_meta( $lead['form_id'] ); $values= array(); foreach( $form['fields'] as $field ) { $values[$field['id']] = array( 'id' => $field['id'], 'label' => $field['label'], 'value' => $lead[ $field['id'] ], ); } ?> <pre><?php print_r($values); ?></pre>
Thanks to webaware for their answer.
Here's some copy/pasta for anyone looking for a quick start. This takes an entry ID and retrieves the lead and form from that. In this case I'm using the URL to pass the value. e.g. somedomain.com?entry=123.
<?php $lead_id = $_GET['entry']; $lead = RGFormsModel::get_lead( $lead_id ); $form = GFFormsModel::get_form_meta( $lead['form_id'] ); $values= array(); foreach( $form['fields'] as $field ) { $values[$field['id']] = array( 'id' => $field['id'], 'label' => $field['label'], 'value' => $lead[ $field['id'] ], ); } ?> <pre><?php print_r($values); ?></pre>
-
Votre codeestgénialmaisne fonctionnerapaspour les `champs avancés` comme` l'adresse` ou le `prénom/nom` carils utilisent` .`pour diviser leuridentifiantYou code is great but wont work for `Advanced fields` like the `address` or the `first name/last name` since they are using `.` to split their ID
- 1
- 2014-09-30
- RPDeshaies
-
Nefonctionnerapasnonplus dans les cases à cocher.Also will not work in chckboxes.
- 0
- 2015-07-19
- numediaweb
-
Comment obtenir lesinformations sur l'utilisateur quipublie l'entrée?How to get the user info who post the entry?
- 0
- 2016-02-10
- John
-
- 2013-01-24
Vouspouvez utiliser un hook
gform_after_submission
pour écriretout ce dont vous avezbesoin dans untype depublicationpersonnalisé,quipeut êtreplusfacile àmanipuler "sur leterrain",et sera à l'abri,parexemple,d'une suppressionun seul champet effaçanttoutes les données qui lui sont associées.http://www.gravityhelp.com/documentation/page/Gform_after_submission
Yoast a une assezbonne écriture sur l'écriture dans des champspersonnalisés,sansmême utiliser le hook. http://yoast.com/gravity-forms-custom-post-types/
Bonne chance!
You could use a
gform_after_submission
hook to write everything you need to a custom post type, which might be easier to manipulate "out in the field", and will be safe from, say, someone deleting a single field and obliterating all the data associated with it.http://www.gravityhelp.com/documentation/page/Gform_after_submission
Yoast has a pretty good writeup on writing to custom fields, without even using the hook. http://yoast.com/gravity-forms-custom-post-types/
Good luck!
-
La duplication de données comme celle-ci semble unpeu désagréable.Duplicating data like this seems a bit nasty.
- 1
- 2014-09-18
- Felix Eve
Préface
J'aiinstallé desformulairesgravitaires,créé unformulaireet les utilisateurs soumettent des données àmon site. Ce queje veuxfaire,c'estmontrer les données que les utilisateurs soumettent àmon site sur l'une demespages.
Je sais qu'ilexiste leplugin Gravity Forms Directory . Mais celane donne qu'uneprésentationfixe des données.
Question
Y a-t-il quelque chose sousforme degravité quipuissefaire quelque chose comme ça?(pseudo code) :