GravityView  2.17
The best, easiest way to display Gravity Forms entries on your website.
class-gv-template-entry-table.php
Go to the documentation of this file.
1 <?php
2 namespace GV;
3 
4 /** If this file is called directly, abort. */
5 if ( ! defined( 'GRAVITYVIEW_DIR' ) ) {
6  die();
7 }
8 
9 /**
10  * The Entry Table Template class .
11  *
12  * Renders a \GV\Entry using a \GV\Entry_Renderer.
13  */
15  /**
16  * @var string The template slug to be loaded (like "table", "list")
17  */
18  public static $slug = 'table';
19 
20  /**
21  * Output a field cell.
22  *
23  * @param \GV\Field $field The field to be ouput.
24  *
25  * @return string|false The field output or false if "hide_empty" is set.
26  */
27  public function the_field( \GV\Field $field ) {
28  $renderer = new Field_Renderer();
29  $source = is_numeric( $field->ID ) ? ( GF_Form::by_id( $field->form_id ) ? : $this->view->form ) : new Internal_Source();
30 
31  return $renderer->render( $field, $this->view, $source, $this->entry->from_field( $field ), $this->request );
32  }
33 
34  /**
35  * Out the single entry table body.
36  *
37  * @return void
38  */
39  public function the_entry() {
40 
41  /** @type \GV\Field_Collection $fields */
42  $fields = $this->view->fields->by_position( 'single_table-columns' )->by_visible( $this->view );
43 
44  $context = Template_Context::from_template( $this, compact( 'fields' ) );
45 
46  /**
47  * @filter `gravityview_table_cells` Modify the fields displayed in a table
48  * @param array $fields
49  * @param \GravityView_View $this
50  * @deprecated Use `gravityview/template/table/fields`
51  */
52  $fields = apply_filters( 'gravityview_table_cells', $fields->as_configuration(), \GravityView_View::getInstance() );
53  $fields = Field_Collection::from_configuration( $fields );
54 
55  /**
56  * @filter `gravityview/template/table/fields` Modify the fields displayed in this tables.
57  * @param \GV\Field_Collection $fields The fields.
58  * @param \GV\Template_Context $context The context.
59  * @since 2.0
60  */
61  $fields = apply_filters( 'gravityview/template/table/fields', $fields, $context );
62 
63  foreach ( $fields->all() as $field ) {
64  $context = Template_Context::from_template( $this, compact( 'field' ) );
65 
66  $form = \GV\GF_Form::by_id( $field->form_id ) ? : $this->view->form;
67  $entry = $this->entry->from_field( $field );
68 
69  if ( ! $entry ) {
70  continue;
71  }
72 
73  /**
74  * @deprecated Here for back-compatibility.
75  */
76  $column_label = apply_filters( 'gravityview_render_after_label', $field->get_label( $this->view, $form, $entry ), $field->as_configuration() );
77  $column_label = apply_filters( 'gravityview/template/field_label', $column_label, $field->as_configuration(), $form->form ? $form->form : null, $entry->as_entry() );
78 
79  /**
80  * @filter `gravityview/template/field/label` Override the field label.
81  * @since 2.0
82  * @param string $column_label The label to override.
83  * @param \GV\Template_Context $context The context.
84  */
85  $column_label = apply_filters( 'gravityview/template/field/label', $column_label, $context );
86 
87  /**
88  * @filter `gravityview/template/table/entry/hide_empty`
89  * @param boolean $hide_empty Should the row be hidden if the value is empty? Default: don't hide.
90  * @param \GV\Template_Context $context The context ;) Love it, cherish it. And don't you dare modify it!
91  */
92  $hide_empty = apply_filters( 'gravityview/render/hide-empty-zone', $this->view->settings->get( 'hide_empty_single', false ), $context );
93 
95  'entry' => $this->entry->as_entry(),
96  'field' => is_numeric( $field->ID ) ? $field->as_configuration() : null,
97  'label' => $column_label,
98  'value' => $this->the_field( $field ),
99  'markup' => '<tr id="{{ field_id }}" class="{{ class }}"><th scope="row">{{ label }}</th><td>{{ value }}</td></tr>',
100  'hide_empty' => $hide_empty,
101  'zone_id' => 'single_table-columns',
102  ), $context );
103  }
104  }
105 }
If this file is called directly, abort.
static getInstance( $passed_post=NULL)
the_field(\GV\Field $field)
Output a field cell.
If this file is called directly, abort.
if(gravityview() ->plugin->is_GF_25()) $form
If this file is called directly, abort.
If this file is called directly, abort.
the_entry()
Out the single entry table body.
static by_id( $form_id)
Construct a instance by ID.
If this file is called directly, abort.
gravityview_field_output( $passed_args, $context=null)
Output field based on a certain html markup.
Definition: class-api.php:1452
$entry
Definition: notes.php:27