ฉันจะแสดงข้อมูลจากแบบฟอร์มแรงโน้มถ่วงในแม่แบบของฉันได้อย่างไร [ปิด]


21

คำนำ

ฉันได้ติดตั้งฟอร์มแรงโน้มถ่วงสร้างแบบฟอร์มแล้วและผู้ใช้กำลังส่งข้อมูลไปยังเว็บไซต์ของฉัน สิ่งที่ฉันต้องการทำคือการแสดงข้อมูลที่ผู้ใช้กำลังส่งไปยังเว็บไซต์ของฉันในหน้าใดหน้าหนึ่งของฉัน

ฉันรู้ว่ามีปลั๊กอินของไดเรกทอรีฟอร์มแรงโน้มถ่วง แต่นี่เป็นเพียงการนำเสนอข้อมูลที่แน่นอน

คำถาม

มีรูปแบบแรงโน้มถ่วงที่สามารถทำสิ่งนี้ได้หรือไม่? (รหัสเทียม) :

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


2
@GhostToast เชื่อฉันฉันหวีเอกสารทั้งหมดและไม่มีข้อมูลเกี่ยวกับวิธีการบรรลุนี้
hitautodestruct

1
หมายเหตุจากอนาคต: นี่คือปลั๊กอินที่ชัดเจนสำหรับการแสดงข้อมูล Gravity Forms บน front-end: gravityview.co
Dalton

2
ฉันเดิมพันว่าถ้าฉันโพสต์คำถามนี้ดังนั้นพวกเขาจะบอกให้ฉันโพสต์ที่นี่ :-) สิ่งที่เกิดขึ้นแล้วกับคำถามอื่น ..
hitautodestruct

คำตอบ:


25

คุณสามารถดูเอกสารได้ แต่คุณอาจต้องอ่านเอกสารจริง : ซอร์สโค้ด

ถ้าคุณทำคุณจะพบว่า:

  • GFFormsModel::get_leads($form_id)ส่งคืนรายการของรายการสำหรับแบบฟอร์ม (บางทีคุณอาจรู้ว่ามีอยู่แล้ว) ซึ่งแต่ละรายการในอาเรย์นั้นเป็นอาร์เรย์เอง " รายการวัตถุ "
  • GFFormsModel::get_form_meta($form_id)ส่งคืนรายการองค์ประกอบเขตข้อมูลเมตา (เช่นอธิบายชื่อประเภทกฎ ฯลฯ ) ในรูปแบบที่แต่ละรายการในอาร์เรย์เป็น " วัตถุฟิลด์ "

เมื่อคุณมีรายการวัตถุคุณสามารถเข้าถึงเขตข้อมูลเป็นองค์ประกอบตามหมายเลขเขตข้อมูล ถ้าคุณต้องการค้นหาเขตข้อมูลตามชื่อหรือชนิดคุณจำเป็นต้องวนซ้ำรายการของเขตข้อมูลในแบบฟอร์มเพื่อให้ได้การจับคู่แล้วเข้าถึงเขตข้อมูลของรายการตาม ID เขตข้อมูล

หมายเหตุ: การกำหนดประเภทของเขตข้อมูลทำได้ดีที่สุดโดยส่งผ่านองค์ประกอบเมตาของเขตข้อมูลไปที่ GFFormsModel::get_input_type($field)

แก้ไข: โปรดทราบว่าจะส่งคืนเฉพาะอักขระ 200 ตัวแรกของแต่ละฟิลด์ในวัตถุรายการ GFFormsModel::get_field_value_long($lead, $field_number, $form)ถ้าคุณมีเขตข้อมูลที่เก็บข้อมูลมากขึ้นคุณจะต้องถามมันเช่นโดยการโทร


1
FYI, ผู้ดูแลฟอร์ม Gravity โพสต์ตัวอย่างนี้สำหรับรหัสย่อของpastebin.com/kHpaHQviเช่นกัน
hitastodestruct

21

ขอบคุณ webaware สำหรับคำตอบของพวกเขา

นี่คือบางส่วนคัดลอก / พาสต้าสำหรับทุกคนที่กำลังมองหาการเริ่มต้นอย่างรวดเร็ว สิ่งนี้ใช้ ID รายการและดึงลูกค้าเป้าหมายและฟอร์มจากสิ่งนั้น ในกรณีนี้ฉันใช้ 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เพราะพวกเขาใช้.เพื่อแยก ID
RPDeshaies

จะไม่ทำงานใน chckboxes
numediaweb

จะรับข้อมูลผู้ใช้ที่โพสต์รายการได้อย่างไร
John

1

คุณสามารถใช้gform_after_submissionเบ็ดเพื่อเขียนทุกอย่างที่คุณต้องการให้กับประเภทโพสต์ที่กำหนดเองซึ่งอาจจะง่ายกว่าในการจัดการ "out in the field" และจะปลอดภัยจากการพูดว่ามีคนลบเขตข้อมูลเดียวและกำจัดข้อมูลทั้งหมดที่เกี่ยวข้อง .

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

Yoast มีการเขียนที่ดีในการเขียนไปยังฟิลด์ที่กำหนดเองโดยไม่ต้องใช้ฮุค http://yoast.com/gravity-forms-custom-post-types/

โชคดี!


1
การทำสำเนาข้อมูลเช่นนี้ดูน่ารังเกียจนิดหน่อย
เฟลิกซ์อีฟ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.