템플릿에 중력 형식의 데이터를 표시하려면 어떻게합니까? [닫은]


21

머리말

중력 양식을 설치하고 양식을 작성했으며 사용자가 내 사이트에 데이터를 제출하고 있습니다. 내가하고 싶은 것은 사용자가 내 페이지 중 하나에서 내 사이트에 제출하는 데이터를 보여주는 것입니다.

Gravity Forms Directory 플러그인 이 있다는 것을 알고 있습니다. 그러나 이것은 고정 된 데이터 표현만을 제공합니다.

의문

이런 식으로 할 수있는 중력 형태가 있습니까? (의사 코드) :

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


2
@GhostToast 내가 문서를 완전히 빗질했으며 이것을 달성하는 방법에 대한 정보가 없다고 생각하십시오.
hitautodestruct

1
향후 참고 사항 : 다음은 프론트 엔드에 Gravity Forms 데이터를 명시 적으로 표시하는 플러그인입니다. gravityview.co
Dalton

2
만약 내가이 질문을 SO에 올렸다면 그들은 여기에 그것을 게시하라고 말할 것이다. :-) 다른 질문에서 이미 일어난 일 ..
hitautodestruct

답변:


25

문서를 볼 수 있지만 소스 코드와 같은 실제 문서를 읽게 될 것입니다 .

그렇게하면 다음을 발견 할 수 있습니다.

  • GFFormsModel::get_leads($form_id)배열의 각 항목이 배열 인 " Entry object "인 양식에 대한 항목 목록을 리턴합니다 (이미 알고 있음).
  • GFFormsModel::get_form_meta($form_id)배열의 각 항목이 " Field object " 인 형식으로 필드 메타 요소 목록 (예 : 이름, 유형, 규칙 등)을 반환합니다.

Entry 객체가 있으면 필드 번호별로 요소로 필드에 액세스 할 수 있습니다. 이름 또는 유형별로 필드를 찾아야하는 경우 양식의 필드 목록을 반복하여 일치하는 항목을 찾은 다음 필드 ID로 항목의 필드에 액세스해야합니다.

주의 : 필드의 유형을 결정하는 것은 필드의 메타 요소를 전달하여 가장 잘 수행됩니다. GFFormsModel::get_input_type($field)

편집 : 각 필드의 처음 200 자만 Entry 객체에 반환됩니다. 더 많은 정보를 저장하는 필드가있는 경우 전화를 통해 요청해야합니다 GFFormsModel::get_field_value_long($lead, $field_number, $form).


1
참고로 A Gravity Forms 관리자는이 코드를 pastebin.com/kHpaHQvi 단축 코드에 게시했습니다 .
hitautodestruct

21

그들의 답변에 대한 웹웨어 덕분입니다.

빠른 시작을 원하는 사람을위한 복사 / 파스타입니다. 항목 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 fieldsaddress또는 first name/last name그들이 사용하고 있기 때문에 .자신의 ID 분할
RPDeshaies

chckbox에서도 작동하지 않습니다.
numediaweb

항목을 게시 한 사용자 정보를 얻는 방법은 무엇입니까?
John

1

gform_after_submission후크를 사용하여 사용자 정의 게시물 유형에 필요한 모든 것을 쓸 수 있습니다.이 유형은 "현장 밖으로"조작하기가 더 쉬울 수 있습니다. 예를 들어 누군가가 단일 입력란을 삭제하고 이와 관련된 모든 데이터를 삭제하는 것으로부터 안전 할 것입니다. .

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

Yoast는 후크를 사용하지 않고도 사용자 정의 필드에 쓰는 데 꽤 좋은 글을 썼습니다. http://yoast.com/gravity-forms-custom-post-types/

행운을 빕니다!


1
이와 같은 데이터 복제는 약간 불쾌한 것 같습니다.
Felix Eve
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.