Şablonumdaki yerçekimi formlarından verileri nasıl gösterebilirim? [kapalı]


21

önsöz

Yerçekimi formları yükledim, bir form oluşturdum ve kullanıcılar siteme veri gönderiyorlar. Yapmak istediğim, kullanıcıların sayfalarımdan birinde siteme gönderdiği verileri göstermek.

Gravity Forms Directory eklentisi olduğunu biliyorum . Ancak bu yalnızca sabit bir veri sunumu sağlar.

Soru

Yerçekimi formlarında böyle bir şey yapabilen bir şey var mı? (sözde kod) :

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


2
@GhostToast İnanın Bana belgeleri tamamen taradım ve bunu nasıl başaracağınıza dair herhangi bir bilgi yok.
hitautodestruct

1
Gelecekten not: İşte açıkça ön uçta Gravity Forms verilerini görüntülemek için bir eklenti: gravityview.co
Dalton

2
Bahse girerim eğer bu soruyu
SO'ya gönderirsem

Yanıtlar:


25

Dokümanlara bakabilirsiniz, ancak büyük olasılıkla gerçek belgeleri (kaynak kodunu) okuyacaksınız.

Bunu yaparsanız şunları bulacaksınız:

  • GFFormsModel::get_leads($form_id)dizideki her öğenin kendisinin bir dizi, bir " Giriş nesnesi " olduğu bir form için girişlerin listesini döndürür (belki de zaten bunu biliyorsunuzdur)
  • GFFormsModel::get_form_meta($form_id)dizideki her öğenin bir " Alan nesnesi " olduğu formdaki alan meta öğelerinin bir listesini (yani adı, türü, kuralları vb. açıklar) döndürür

Bir Giriş nesnesine sahip olduğunuzda, alan numarasına göre öğelere öğe olarak erişebilirsiniz. Bir alanı ada veya türe göre bulmanız gerekiyorsa, eşleşme elde etmek için formdaki alanlar listesi üzerinde yineleme yapmanız ve ardından girdinin alana alan kimliğine erişmeniz gerekir.

Not: bir alanın türünü belirlemek en iyi şekilde alanın meta öğesini GFFormsModel::get_input_type($field)

Düzenle: Giriş nesnesinde her alanın yalnızca ilk 200 karakterinin döndürüldüğünü unutmayın. Daha fazla bilgi depolayan alanlarınız varsa, bunu (ör. Arayarak) istemeniz gerekir GFFormsModel::get_field_value_long($lead, $field_number, $form).


1
Bir Gravity Forms yöneticisi olan FYI, bu snippet'i pastebin.com/kHpaHQvi kısa kodu için de yayınladı .
2013'te

21

Yanıtları için web yazılımlarına teşekkürler.

İşte hızlı bir başlangıç ​​arayan herkes için bazı kopya / makarna. Bu bir giriş kimliği alır ve giriş ve formu ondan alır. Bu durumda değeri iletmek için URL'yi kullanıyorum. ör. 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
Sen kod harika ama alışkanlık Advanced fieldsgibi addressya da first name/last nameberi .onların kimlik bölmek için kullanıyorlar
RPDeshaies

Ayrıca chckbox'larda çalışmaz.
numediaweb

Girişi gönderen kullanıcı bilgilerini nasıl alabilirim?
John

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.