मैं अपने टेम्पलेट में गुरुत्वाकर्षण रूपों से डेटा कैसे दिखा सकता हूं? [बन्द है]


21

प्रस्तावना

मैंने गुरुत्वाकर्षण रूप स्थापित किए हैं, एक फ़ॉर्म बनाया है और उपयोगकर्ता मेरी साइट पर डेटा सबमिट कर रहे हैं। मैं जो करना चाहता हूं वह दिखा रहा है कि उपयोगकर्ता मेरे पृष्ठों में से एक पर मेरी साइट को सबमिट कर रहे हैं।

मुझे पता है कि गुरुत्वाकर्षण प्रपत्र निर्देशिका प्लगइन है। लेकिन यह केवल एक निश्चित डेटा प्रस्तुति देता है।

सवाल

क्या गुरुत्वाकर्षण रूपों में ऐसा कुछ है जो ऐसा कुछ कर सकता है? (छद्म कोड) :

<?php gforms_get_field( $form_id, $entry_id, 'user_name_field' ); ?>


2
@GhostToast मेरी मानें तो मैंने डॉक्स को पूरी तरह से कंघी किया और इसे कैसे प्राप्त किया जाए, इसकी कोई जानकारी नहीं है।
१६:४est

1
भविष्य से ध्यान दें: यहाँ एक प्लगइन है जो स्पष्ट रूप से गुरुत्वाकर्षण के डेटा को सामने के छोर पर प्रदर्शित करने के लिए है: गुरुत्वाकर्षण से
Dalton

2
मैं शर्त लगाता हूं कि अगर मैंने एसओ पर यह सवाल पोस्ट किया तो वे मुझे इसे यहां पोस्ट करने के लिए कहेंगे :) कुछ ऐसा जो पहले से ही एक और सवाल के साथ हो चुका है ..
hitautodestruct

जवाबों:


25

आप डॉक्स को देख सकते हैं, लेकिन आप शायद वास्तविक प्रलेखन पढ़ना चाहेंगे : स्रोत कोड।

यदि आप करते हैं, तो आप पाएंगे कि:

  • GFFormsModel::get_leads($form_id)प्रपत्रों के लिए प्रविष्टियों की सूची लौटाता है (हो सकता है कि आप पहले से ही जानते हों), जहाँ सरणी में प्रत्येक आइटम अपने आप में एक सरणी है, एक " प्रविष्टि ऑब्जेक्ट "
  • GFFormsModel::get_form_meta($form_id)प्रपत्र में फ़ील्ड मेटा तत्वों (अर्थात नाम, प्रकार, नियमों आदि का वर्णन करता है) की सूची लौटाता है, जहाँ सरणी में प्रत्येक आइटम एक " फ़ील्ड ऑब्जेक्ट " है

आपके पास एंट्री ऑब्जेक्ट होने के बाद, आप फ़ील्ड नंबर के आधार पर फ़ील्ड्स को तत्वों के रूप में एक्सेस कर सकते हैं। यदि आपको नाम या प्रकार से फ़ील्ड ढूंढने की आवश्यकता है, तो आपको मिलान प्राप्त करने के लिए फ़ॉर्म की फ़ील्ड की सूची पर पुनरावृति करने की आवश्यकता है, और फिर फ़ील्ड आईडी द्वारा प्रविष्टि के फ़ील्ड तक पहुंचें।

एनबी: क्षेत्र के मेटा एलिमेंट को पास करके फील्ड के प्रकार का निर्धारण सबसे अच्छा किया जाता है GFFormsModel::get_input_type($field)

संपादित करें: यह भी ध्यान दें कि एंट्री ऑब्जेक्ट में प्रत्येक फ़ील्ड के केवल पहले 200 अक्षर वापस किए गए हैं। यदि आपके पास ऐसे फ़ील्ड हैं जो अधिक जानकारी संग्रहीत करते हैं, तो आपको कॉल करके, इसके लिए पूछना होगा GFFormsModel::get_field_value_long($lead, $field_number, $form)


1
FYI करें, ए ग्रेविटी फॉर्म्स के एडमिन ने इस स्निपेट को एक शोर्ट pastebin.com/kHpaHQvi के लिए पोस्ट किया ।
हितुटोडेस्ट्रक्ट

21

उनके उत्तर के लिए वेबवेयर के लिए धन्यवाद।

यहाँ कुछ कॉपी / पास्ता है जो किसी को भी एक त्वरित शुरुआत की तलाश में है। यह एक एंट्री आईडी लेता है और उसी से लीड और फॉर्म को प्राप्त करता है। इस मामले में मैं मान पास करने के लिए URL का उपयोग कर रहा हूं। जैसे 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>

1
आप कोड के लिए महान लेकिन अभ्यस्त काम है Advanced fieldsकी तरह addressया first name/last nameबाद से वे उपयोग कर रहे हैं .उनके आईडी विभाजित करने के लिए
RPDeshaies

इसके अलावा chckboxes में काम नहीं करेगा।
numediaweb

प्रविष्टि पोस्ट करने वाले उपयोगकर्ता की जानकारी कैसे प्राप्त करें?
जॉन

1

आप gform_after_submissionएक कस्टम पोस्ट प्रकार के लिए आवश्यक सब कुछ लिखने के लिए एक हुक का उपयोग कर सकते हैं , जो "क्षेत्र में बाहर" हेरफेर करना आसान हो सकता है, और किसी एक क्षेत्र को हटाने और इसके साथ जुड़े सभी डेटा को नष्ट करने, किसी से कहना सुरक्षित होगा ।

http://www.gravityhelp.com/documentation/page/Gform_after_submission

यॉस्ट का कस्टम फ़ील्ड के लेखन पर बहुत अच्छा राइटअप है, यहां तक ​​कि हुक का उपयोग किए बिना। http://yoast.com/gravity-forms-custom-post-types/

सौभाग्य!


1
इस तरह से डुप्लिकेटिंग डेटा थोड़ा बुरा लगता है।
फेलिक्स ईव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.