Come faccio a mostrare i dati dei moduli di gravità nel mio modello?
-
-
http://www.gravityhelp.com/documentation/page/Developer_Docshttp://www.gravityhelp.com/documentation/page/Developer_Docs
- 0
- 2013-01-23
- GhostToast
-
@GhostToast Credimi,ho setacciato completamentei documentie non ci sonoinformazioni su come ottenerlo.@GhostToast Believe me I combed the docs completely and there isn't any information on how to achieve this.
- 2
- 2013-01-24
- hitautodestruct
-
Nota dalfuturo:ecco unplugin che èesplicitamenteper visualizzarei dati di Gravity Forms sulfront-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
-
Scommetto che sepubblicassi questa domanda su SOmi direbbero dipubblicarla qui :-) Qualcosa che ègià successo con un'altra domanda ..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 risposta
- voti
-
- 2013-01-24
Puoiguardarei documenti,maprobabilmentefiniraiper leggere la documentazione reale :il codice sorgente.
Se lofai,scoprirai che:
-
GFFormsModel::get_leads($form_id)
restituisce unelenco di vociper unmodulo (forse lo saigià),dove ognielementonell'array èesso stesso un array,un " Oggetto voce " -
GFFormsModel::get_form_meta($form_id)
restituisce unelenco dimetaelementi del campo (ovvero descrivenome,tipo,regoleecc.)nelmodulo,dove ognielementonell'array è un "< a href="http://www.gravityhelp.com/documentation/page/Fields"> Oggetto campo "
Una volta che hai un oggetto Entry,puoi accedere ai campi comeelementi,pernumero di campo. Se ènecessariotrovare un campopernome otipo,ènecessario scorrere l'elenco dei campinelmoduloper ottenere una corrispondenza,quindi accedere al campo della vocein base all'ID del campo.
NB: determinareiltipo di un campo èmegliofarlopassandoilmetaelemento del campo a
GFFormsModel::get_input_type($field)
Modifica:nota anche chenell'oggetto Entry vengono restituiti soloi primi 200 caratteri di ogni campo. Se disponi di campi chememorizzanopiùinformazioni,dovrai richiederle,ades. chiamando
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)
.-
Cordiali saluti,l'amministratore di A Gravity Forms hapubblicato questoframmento ancheper uno shortcode 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
Grazie a webawareper la risposta.
Ecco unpo 'di copia/pastaper chiunque cerchi uninizio veloce.Questoprende un ID vocee recuperail leade ilmodulo da quello.In questo caso sto usando l'URLperpassareil valore.peresempio.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>
-
Iltuo codice èfantasticomanonfunzioneràper `campi avanzati` come`indirizzo` o `nome/cognome` dato che stanno usando` .`per dividereil loro IDYou 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
-
Inoltrenonfunzionerànelle caselle di controllo.Also will not work in chckboxes.
- 0
- 2015-07-19
- numediaweb
-
Come ottenere leinformazioni sugli utenti chepubblicano la voce?How to get the user info who post the entry?
- 0
- 2016-02-10
- John
-
- 2013-01-24
Potresti usare un hook
gform_after_submission
per scriveretutto ciò di cui haibisognoin untipo dipostpersonalizzato,chepotrebbeesserepiùfacile damanipolare "sul campo"e sarà al sicuro,adesempio,da qualcuno che cancellaun unico campoe cancellandotuttii dati adesso associati.http://www.gravityhelp.com/documentation/page/Gform_after_submission
Yoast ha unabuona descrizione della scritturanei campipersonalizzati,senzanemmeno usare l'hook. http://yoast.com/gravity-forms-custom-post-types/
Buonafortuna!
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 duplicazione di datiin questomodo sembra unpo 'sgradevole.Duplicating data like this seems a bit nasty.
- 1
- 2014-09-18
- Felix Eve
Prefazione
Hoinstallatomoduligravity,creato unmoduloe gli utenti stannoinviando dati almio sito. Quello che vogliofare èmostrarei dati chegli utentiinviano almio sito su una dellemie pagine.
So cheesisteilplug-in Gravity Forms Directory . Ma questofornisce solo unapresentazione dei datifissa.
Domanda
C'è qualcosanelleforme digravità chepuòfare qualcosa delgenere?(pseudo codice) :