Wie zeige ich Daten aus Schwerkraftformen in meiner Vorlage an?
-
-
http://www.gravityhelp.com/documentation/page/Developer_Docshttp://www.gravityhelp.com/documentation/page/Developer_Docs
- 0
- 2013-01-23
- GhostToast
-
@GhostToast Glauben Siemir,ich habe die Dokumente vollständiggekämmt undesgibt keine Informationen darüber,wie dieserreicht werden kann.@GhostToast Believe me I combed the docs completely and there isn't any information on how to achieve this.
- 2
- 2013-01-24
- hitautodestruct
-
Hinweis aus der Zukunft: Hieristein Plugin,dasexplizit zur Anzeige von Gravity Forms-Datenim Front-End dient: 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
-
Ich wette,wennich diese Frage auf SOposten würde,würden siemir sagen,dassich sie hierposten soll :-) Etwas,das schonmit einer anderen Fragepassiertist ..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 Antworten
- Stimmen
-
- 2013-01-24
Sie können sich die Dokumente ansehen,aber am Ende werden Sie wahrscheinlich die echte Dokumentation lesen: den Quellcode.
Wenn Sie diestun,werden Sie Folgendesfeststellen:
-
GFFormsModel::get_leads($form_id)
gibt eine Liste von Einträgenfürein Formular zurück (vielleicht kennen Sie dasbereits),wobeijedes Elementim Array selbstein Arrayist,ein " Eingabeobjekt " -
GFFormsModel::get_form_meta($form_id)
gibt eine Liste von Feldmetaelementen (dhbeschreibt Name,Typ,Regeln usw.)im Formular zurück,wobeijedes Elementim Arrayein "<"ist a href="http://www.gravityhelp.com/documentation/page/Fields"> Feldobjekt "
Sobald Sieein Eintragsobjekt haben,können Sienach Feldnummer als Elemente auf die Felder zugreifen. Wenn Sieein Feldnach Name oder Typ suchenmüssen,müssen Sie die Liste der Felderim Formular durchlaufen,umeine Übereinstimmung zuerhalten,und dann anhand der Feld-ID auf das Feld des Eintrags zugreifen.
Hinweis: Die Bestimmung des Feldtypserfolgt ambesten,indem das Metaelement des Felds an
übergeben wirdGFFormsModel::get_input_type($field)
Bearbeiten: Beachten Sie auch,dassnur dieersten 200 Zeichenjedes Feldsim Eintragsobjekt zurückgegeben werden. Wenn Sie Felder haben,in denen weitere Informationengespeichert sind,müssen Sie danachfragen,z. durch Aufrufen von
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)
.-
Zu Ihrer Information,ein Administrator von Gravity Forms hat dieses Snippet auchfüreinen Shortcode http://pastebin.com/kHpaHQvi veröffentlicht.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
Vielen Dank an webawarefür die Antwort.
Hier sindeinige Kopien/Nudelnfür alle,dieeinen schnellen Start suchen.Diesnimmt eine Eintrags-ID und ruft den Lead und das Formular daraus ab.In diesem Fall verwendeich die URL,um den Wert zu übergeben.z.B.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>
-
Ihr Codeistgroßartig,funktioniert abernichtfür "Erweiterte Felder" wie die "Adresse" oder den "Vor-/Nachnamen",da sie "." Zum Teilenihrer ID verwendenYou 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
-
Funktioniert auchnichtin Kontrollkästchen.Also will not work in chckboxes.
- 0
- 2015-07-19
- numediaweb
-
Wieerhalteich die Benutzerinformationen,die den Eintrag veröffentlichen?How to get the user info who post the entry?
- 0
- 2016-02-10
- John
-
- 2013-01-24
Sie könneneinen
gform_after_submission
-Hook verwenden,um alles,was Siebenötigen,in einenbenutzerdefinierten Beitragstyp zu schreiben,dermöglicherweiseeinfacher "im Feld" zumanipulierenist undbeispielsweise vor dem Löschen von Personengeschütztisteineinzelnes Feld und Löschen aller damit verbundenen Daten.http://www.gravityhelp.com/documentation/page/Gform_after_submission
Yoast hateine ziemlichgute Beschreibungfür das Schreibenin benutzerdefinierte Felder,ohne den Hook zu verwenden. http://yoast.com/gravity-forms-custom-post-types/
Viel Glück!
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!
-
Das Duplizieren solcher Daten scheintetwas unangenehm zu sein.Duplicating data like this seems a bit nasty.
- 1
- 2014-09-18
- Felix Eve
Vorwort
Ich habe Schwerkraftformulareinstalliert,ein Formularerstellt und Benutzer senden Daten anmeine Site. Ichmöchte aufeinermeiner Seiten anzeigen,welche Daten Benutzer anmeine Website senden.
Ich weiß,dasses das Gravity Forms Directory -Plugingibt. Diesergibtjedochnureine feste Datenpräsentation.
Frage
Gibtesirgendetwasin Schwerkraftformen,das soetwas kann?(Pseudocode) :